Hi!
Rechne es doch einfach um!?
Wieviele Sekunden hat eine Minute, und wieviele Minuten hat eine Stunde? ;o) *lol*
So ich habe mein prog fertig nur ich weiss nicht ganz genau wie ich das hinkriege wenn der zähler über 60sek. das er minuten anzeigt könnt ihr mir helfen!!
'1. auslesen des CPU - timers
'2.abfrage wenn "start-taste" gedrückt ist
'3.starten des timer
'4.abfrage wenn "Stop" gedrückt ist
'5.Auslesen den neuen timers
'6. neuen timer vom alten berechnen
'7.Auslesen der egebnisse
define port1 port[1]
define port2 port[2]
define port3 port[3]
define starttimer word
define stoptimer word
#an
Print "Zum einschalten Port2"
wait port2 = on
#anfang
pause 5
print "Stopuhr ist eingeschaltet"
print "Starten mit port1"
print "Stoppen mit port1"
pause 5
wait port1=on
#tastestart
pause 2
if port1 = on then goto start
#tastestop
pause 2
wait port1 = on
goto ausgabe
#ausgabe
gosub stop
print "Zeit="; stoptimer
print "weiter mit port1"
goto tastereset
#tastereset
pause 5
wait port1 = on
goto anfang
#Start
starttimer = timer
print "Uhr läuft!"
goto tastestop
#stop
stoptimer = (timer-starttimer) / 50
return
Hi!
Rechne es doch einfach um!?
Wieviele Sekunden hat eine Minute, und wieviele Minuten hat eine Stunde? ;o) *lol*
Trotzdem kann ich das nicht!!!
HILFE!°!°!°!°!°!°!°!°!°!
Was hat dir an meinem Program nicht gefallen... hat doch perfekt gefuntzt (wenn man im simulator die funktion uhr automatisch stellen oder so deaktiviert)
Mach doch einfach nochne variable die dann das macht:
if timer-starttimer=60 then minuten=minuten+1
if timer-starttimer=60 then starttimer=timer
Dein Timer hat 20ms-Schritte. Also 50 Schritte pro Sekunde. Nach 50*60 Schritten brauchst du eine Minutenumschaltung, also bei 3000. Da der Timer von -32000 bis ca. +32000 läuft und dann wieder nach -32000 springt, hast du maximal ca. 10 Minuten die du damit in 20ms Genauigkeit (eher schlechter) messen kannst.
Der Timer ist aber freilaufend und kann so nicht auf einen Startwert gesetzt werden. Damit weist du nicht ob du am Ende oder dem Anfang deines Wertebereichs bist und o der Umsprung bald komt. Das muss man eben auch mit abfragen und eintsprechend verrechenen.
xSek = Timer / 50
xMin = Timer / 3000
Grüsse Wolfgang
Oh, mist... hab ich ja ganz vergessen...
So geht das nicht sicherZitat von Matthias
Wenn der Timer in dem Moment erhöht in dem das Programm noch in der ersten Zeile ist, dann ist in der zweiten Zeile eine "61" und dem If alles so ziemlich gleichgültig...
Also besser:
...
If Timer - StartTimer < 3000 then GoTo IstKleinerMin
Minuten = Minuten + 1
' Ende des Timers erreicht?!?
If IstStartTimer < 32000 Then IstStarttimer = IstStarttimer + 3000
#IstKleinerMin
...
Dei 32000 ist der maximale Timerwert Minus 3000, da dort der Timer eh von vorne beginnt. Also darauf prüfen! Sonst ist mal Der IstStertTimer > Timer und es dauert ganze 11 Minuten bis eine Minute erkannt wird!
Grüsse Wolfgang
Lesezeichen