Går det gör på ett bättre sätt?
Postat: 27 mars 2005, 23:01:31
Hej, jobbar lite med min kod nu för camen, nu med denna kod så "hackar" motorn lite mera när jag la in If satser för att hålla reda på var den är.
Så finns det något snabbare och smidigare sätt att gör det på?
Så finns det något snabbare och smidigare sätt att gör det på?
Kod: Markera allt
' {$STAMP BS2}
' {$PBASIC 2.5}
'##### Här stätter vi våra variablar #######################################
' #
tid CON 6 'Tiden mellan varje steg #
x_steg VAR Word 'Håller reda på hur långt X har åkt #
x_fb VAR Bit 'Håller reda på vilket håll X åker åt #
DIRS = %0000000000001111 'Vilka pinnar vi använder #
' #
'###########################################################################
Setup: 'Vanlig setup lite standad värden och sådant
x_steg = -21 'Sätter start steget för X
x_fb = 1 'Sätter åt vilket håll X ska åka åt först
main: 'main Början av allt
IF (x_fb = 1) THEN 'Här så kollar vi åt vilket håll den ska åka åt
IF (x_steg = 21) THEN 'Om x_steg har åkt sina steg så sätter vi x_fb = 0
x_fb = 0 'Ställer om så den åker åt det andra hållet
ENDIF
x_steg = x_steg + 1 'En räknare som håller reda på var vi är
DEBUG "x_foward", CR 'Test för att kolla så att fungerar
GOTO x_foward 'Går vidare till x_foward
ELSE 'Om x_fb = o så börjar vi här
IF (x_steg = -21) THEN 'Om x_steg har åkt sina steg så sätter vi x_fb = 1
x_fb = 1 'Ställer om så den åker åt det andra hållet
ENDIF
x_steg = x_steg - 1 'En räknare som håller reda på var vi är
DEBUG "x_backwords", CR 'Test för att kolla så att fungerar
GOTO x_backwords 'Går vidare till x_backwords
ENDIF
x_foward: 'Låter X motorn gå framot
OUTA=%1001
PAUSE tid
OUTA=%1010
PAUSE tid
OUTA=%0110
PAUSE tid
OUTA=%0101
PAUSE tid
GOTO main 'Återgår till main
x_backwords: 'Låter X motorn gå bakåt
OUTA=%0101
PAUSE tid
OUTA=%0110
PAUSE tid
OUTA=%1010
PAUSE tid
OUTA=%1001
PAUSE tid
GOTO main 'Återgår till main