Forum: Mikrocontroller und Digitale Elektronik Timer erst hochzählen und dann stoppen!


von Tom (Gast)


Lesenswert?

Hallo zusammen,

ich habe einen Timer, den ich im Continuous Mode betreibe. Das heißt er 
zählt hoch bis FFFF und fängt dann wieder bei 0 an und zählt wieder 
hoch!
Ich möchte aber jetz erreichen, dass der Timer stoppt, sobald er FFFF 
erreicht hat!
Wie mache ich das am Besten?

TA0CTL   |=   MC_2;

MC_2 ist der Timerbetrieb im Continuous Mode.
Der Befehl MC_0 würde den Timer stoppen.
Kann ich das so realisieren oder würde der Timer bei folgendem Befehl 
sofort stoppen?

TA0CTL   |=   MC_2 + MC_0;

Vielen Dank schon mal für jede Hilfe!!

Gruß Tom

von Düsendieb (Gast)


Lesenswert?

Tom schrieb:
> Ich möchte aber jetz erreichen, dass der Timer stoppt, sobald er FFFF
> erreicht hat!

Warum? lass ihn doch einfach laufen und setze den Startwert wenn es so 
weit ist wieder auf null.

Oder verhindere per Programm, dass was ausgeführt wird.

Will sagen, bau das Programm anders auf.

Axel

von Peter D. (peda)


Lesenswert?

Tom schrieb:
> Kann ich das so realisieren oder würde der Timer bei folgendem Befehl
> sofort stoppen?
>
> TA0CTL   |=   MC_2 + MC_0;

Was dieser Befehl macht, kannst nur Du selber wissen.

Denn nur Du kennst das Datenblatt des unbekannten MC, den Du uns nicht 
verraten willst.


Peter

von DerDaniel (zu faul zum Anmelden) (Gast)


Lesenswert?

Ich versteh den Sinn auch nicht, aber den Timer bekommst du nur gestoppt 
in dem du
TA0CTL   |=   MC_0;
setzt.
Mach hat eine Timer-Overflow-ISR die genau das macht.

von Formatierung (Gast)


Lesenswert?

>ich habe einen Timer, den ich im Continuous Mode betreibe. Das heißt er
>                                 ^^^^^^^^^^^^^^^
>zählt hoch bis FFFF und fängt dann wieder bei 0 an und zählt wieder
>hoch!
>Ich möchte aber jetz erreichen, dass der Timer stoppt, sobald er FFFF
                                         ^^^^^^^^^^^^^
Da sehe ich einen Widerspruch!


Der MSP430 hat sicher auch einen One-Shot Mode....

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.