well, because
1)PBP don't have PRINT but LCDOUT,
2)PBP don't allow to use LOW as Variable, should be the same with PDS
3)PBP don't use DEC to decrement a variable, not sure in PDS
4)PBP don't use INC to increment a variable, not sure in PDS
5)There's no DelayMS in PBP but PAUSE
6)REVERSE is a reserved word in PBP
Now if you use PDS, we can't really help, www.picbasic.org/forum will.
you may try this one...
Code:
WHILE 1 = 1 'Infinite loop
IF S1 = 0 THEN
IF SPEED = 0 THEN DIRECTION = REVERSE 'If motor stopped, set reverse direction
IF DIRECTION = REVERSE THEN 'If engine in reverse, then..
IF SPEED < 255 THEN
SPEEED= SPEED +1 'If Speed less than Maximum, then increase
ENDIF
ELSE 'Else goto FORWARD loop
IF SPEED > 0 THEN
SPEED = SPEED -1 'If speed not yet 0, then decrease speed
ENDIF
ENDIF
ENDIF
IF S2 = 0 THEN 'If S2 pressed, then
IF SPEED = 0 THEN DIRECTION = FORWARD 'If motor stopped, set forward direction
IF DIRECTION = FORWARD THEN 'If engine in reverse, then..
IF SPEED < 255 THEN
SPEED=SPEED+1 'If speed not yet 255, then increase speed
ENDIF
ELSE 'Else goto REVERSE loop)
IF SPEED > 0 THEN
SPEED= SPEED-1 'If speed not yet 0, then reduce until 0
ENDIF
ENDIF
ENDIF
FORWARD = DIRECTION 'As DIRECTION = HIGH then
'FORWARD = HIGH
REVERSE = ~FORWARD 'REVERSE is negated to FORWARD
HPWM 1, SPEED, 2000 'Alloctae 'SPEED' value to the CCP module
PRINT AT 1, 13, DEC (SPEED * 100) / 255, "% " 'Reflect speed in %
DELAYMS 10 'Increase SPEED
IF SPEED = 0 THEN
DELAYMS 700 'Wait longer when speed =0
endif
WEND 'To While
HTH
Bookmarks