Forum: Mikrocontroller und Digitale Elektronik Countdown mit Timer


von Markus D. (trmax)


Lesenswert?

Hallo!

Ich bräuchte ein paar Tipps zu meinem Projekt. Ich benötige einen 
Countdown der zum Beispiel von 10 Sekunden runterzählt und dann eine 
Variable setzt. Dieser Countdown soll aber nur einem nach dem 
einschalten  (=Versorgen der UC mit SPannung) ablaufen. Ich denke ich 
werde einen Timer verwenden.
Meine Frage ist nun, ob ich nach dem runterzählen und setzen den Timer 
deaktivieren kann da ich in nicht mehr brauche?sollte dies gehen, wie 
geht man dabei vor?


meine Idee:
1
dim check as bit
2
Config TimerXXX = Timer, Prescale= XX
3
4
if check=0 then 
5
Enable TimerXXX
6
else
7
disable TimerXXX
8
endif
9
 
10
On  TimerXXX   SprungXXX            
11
Enable Interrupts 
12
 
13
 Do
14
 '....Hauptprogramm
15
 Loop
16
 End
17
 
18
19
SprungXXX:     
20
check = 1 
21
Return
mfg
markus

von STK500-Besitzer (Gast)


Lesenswert?

>if check=0 then
>Enable TimerXXX
>else
>disable TimerXXX
>endif

Kannst du dir sparen, da der Controller den Countdown ja (laut deiner 
Beschreibung) sofort nach dem Anschalten loslaufen soll.

Ich kenne mich mit Bascom (oder dem verwendeten BAsic-Dialekt) nicht 
aus, bin mir aber sicher, dass es auch hier nicht möglich ist, mit einem 
Timer 10 Sekunden zu zählen (die Richtung ist ja völlig egal).
Du mußt also den timer so konfigurieren, dass er in Intervallen die ISR 
solange aufruft, bis 10 Sekunden vorbei sind. Dazu zählt man die 
ISSR-Aufrufe in der ISR mit und setzt das check-Flag, sobald die 10 
Sekunden um sind.
In der Hauptschleife fragt man das Flag dann ab und schaltet bei 
gesetztem Bit den Timer aus.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.