mottobug
16.11.2006, 10:49
Hallo,
ich versuche ein Program zu schreiben das nach 20 Minuten seinen Zustand ändert. Das ganze will ich nicht einfach mit wait machen, sondern in dem ich die vergangene Zeit messe. Etwa in der Form.
Dim Laststate as Long
Laststate = now()
do
if now() - Laststate > 1200 then
'mach was
end if
loop
Ich verwenden einen Tiny 2313 ohne externen Quarz.
Ich habe bereits mehrfach die Funktionsreferenz gelesen und viele Funktionen ausprobiert (syssec(), getsecofday()), die Beispiele die bei Bascom dabei sind ausprobiert, mit config Clock rumexperimentiert...
Jedesmal stelle ich fest das die Uhr überhaupt nicht läuft, sie schlicht nicht weiterzählt.
Im Netz fand ich über dieses Thema fast gar nix. Entweder ist dieses Thema so trivial und ich blicks nicht, oder so etwas wird selten gemacht.
Den Hinweis in der Bascom Funktionsreferenz bezüglich des Externen Quarzes habe ich nicht verstanden. Ich kann doch mit dem internen Takt und z.B. wait ziemlich genau einen Zeitabstand warten!? Sollte da nicht auch eine ungefähre Zeitmessung drin sein?
Ich will keine exacte Quarz Uhr bauen, ich möchte einfach nur 20 Minuten warten ohne die Hauptschleife zu blockieren. Eine Abweichung von bis zu einer Minute währe ohne weiteres akzeptabel.
Im Moment überlege ich so etwas wie:
Dim Ticks as Long
do
' do something
waitms 500
Ticks = Ticks + 1
done
zu benutzen. Gibts etwas eleganteres?
Tom.
ich versuche ein Program zu schreiben das nach 20 Minuten seinen Zustand ändert. Das ganze will ich nicht einfach mit wait machen, sondern in dem ich die vergangene Zeit messe. Etwa in der Form.
Dim Laststate as Long
Laststate = now()
do
if now() - Laststate > 1200 then
'mach was
end if
loop
Ich verwenden einen Tiny 2313 ohne externen Quarz.
Ich habe bereits mehrfach die Funktionsreferenz gelesen und viele Funktionen ausprobiert (syssec(), getsecofday()), die Beispiele die bei Bascom dabei sind ausprobiert, mit config Clock rumexperimentiert...
Jedesmal stelle ich fest das die Uhr überhaupt nicht läuft, sie schlicht nicht weiterzählt.
Im Netz fand ich über dieses Thema fast gar nix. Entweder ist dieses Thema so trivial und ich blicks nicht, oder so etwas wird selten gemacht.
Den Hinweis in der Bascom Funktionsreferenz bezüglich des Externen Quarzes habe ich nicht verstanden. Ich kann doch mit dem internen Takt und z.B. wait ziemlich genau einen Zeitabstand warten!? Sollte da nicht auch eine ungefähre Zeitmessung drin sein?
Ich will keine exacte Quarz Uhr bauen, ich möchte einfach nur 20 Minuten warten ohne die Hauptschleife zu blockieren. Eine Abweichung von bis zu einer Minute währe ohne weiteres akzeptabel.
Im Moment überlege ich so etwas wie:
Dim Ticks as Long
do
' do something
waitms 500
Ticks = Ticks + 1
done
zu benutzen. Gibts etwas eleganteres?
Tom.