Mahlzeit.
Ich hab heute mit dem unteren Programm nochmals probiert
Code:
define speed byte[8]
define dist byte[9]
define eingabestart byte[10]
define timer_startwert word
define timer_endwert word
define Zeitdauer_MilliSekunden word[1]
'---------- INIT---------------
gosub SUBSYS_PWR_ON
beep 368,10,0:pause 50
'---- SYSTEM OPERATION MODE (NO INTERRUPT) ----
gosub NO_ACS_INT:SYS ACS_MAX
'------------ ANTRIEB -------------------------
REV_L=on:REV_R=on:SYS PLM_SLOW
#start
gosub CLR_DISTANCE
eingabestart=1
goto test
#test
input speed
print "Geschwindigkeit [Geschwindigkeitsdigits]: "; speed
gosub L_DISTANCE
dist = LBYTE
IF speed = 0 then goto stop
IF eingabestart=1 THEN timer_startwert = timer
IF eingabestart=1 THEN print "Timer Startwert [counter]: "; timer_startwert
gosub move_fwd
eingabestart=0
goto test
'--------------------------------------------
#stop
timer_endwert = timer
print "Timer Endwert [counter]: "; timer_endwert
SYS FWDR:SYS FWDL:SPEED_L=0:SPEED_R=0
Zeitdauer_MilliSekunden = timer_endwert - timer_startwert
'IF Zeitdauer_MilliSekunden < 0 THEN Zeitdauer_MilliSekunden = 32767-timer_startwert+timer_endwert
print "Zeitdauer [counter]: "; Zeitdauer_MilliSekunden
print "Distanz [digit]: "; dist
goto start
#move_fwd
SYS FWDR:SYS FWDL:SPEED_L=speed:SPEED_R=speed:return
aber kommischerweise gibt der Robby immer nen negativen Wert von "Zeitdauer_MilliSekunden " aus.
Weiß jmd warum? Danke im Voraus.
MfG
itech
Lesezeichen