Forum: Mikrocontroller und Digitale Elektronik ISR Assembler


von Bernd (Gast)


Lesenswert?

Hallo,

Ich möchte Timer1 stoppen Bsp. wenn LED am PortB angeht und Das würde 
ich in der ISR schreiben.

Danke!

von 42 (Gast)


Lesenswert?

Bernd schrieb:
> Ich möchte Timer1 stoppen Bsp. wenn LED am PortB angeht und Das würde
> ich in der ISR schreiben.
???
Dann tu das doch.

von Floh (Gast)


Lesenswert?

Bernd schrieb:
> Ich möchte Timer1 stoppen Bsp. wenn LED am PortB angeht und Das würde
> ich in der ISR schreiben.

Dann tu das.

von spess53 (Gast)


Lesenswert?

Hi

> Ich möchte Timer1 stoppen Bsp. wenn LED am PortB angeht und Das würde
> ich in der ISR schreiben.

Aber eine Led löst keinen Interrupt aus. Und einen Timer schaltet man so 
ähnlich ab, wie man ihn einschaltet.

MfG Spess

von Bernd (Gast)


Lesenswert?

Hallo,
sorry für meine Blöde Frage es geht darum den Timer1 zu stoppen wenn ein 
Delay-Zustand abgelaufen ist. Delay-Zustand ist hier einfach um den 
Ausgang eines Sensor zu steuern(Ausgang nach dem Ende eines Hi-Zustand, 
nicht sofort auf LO setzen sondern noch paar ms verlängern )

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

spess53 schrieb:
> Aber eine Led löst keinen Interrupt aus. Und einen Timer schaltet man so
> ähnlich ab, wie man ihn einschaltet.

Genau. :-)

Hallo Bernd,
hier steht einiges zum Thema Timer:
http://www.mikrocontroller.net/articles/AVR-Tutorial:_Timer
Kennst du die Seite schon?

von Bernd (Gast)


Lesenswert?

Ja, aber irgendwie blicke ich nicht durch. Ich wollte nur 2 Sachen 
wissen.
-> wird Timer 1 gestoppt indem man das Bit TOIE1 löscht?
-> wie sage ich dem compiler er soll an dieser Adresse springen :  0x008 
TIMER1_OVF  Timer/Counter1 Overflow, wenn einen Überlauf auftritt?

von h_ (Gast)


Lesenswert?

Bernd schrieb:
> -> wird Timer 1 gestoppt indem man das Bit TOIE1 löscht?
Nein, du setzt die CS*-Bits auf 0. Das löschen von TOIE1 verhindert nur, 
dass der Interrupt aufgerufen wird.
> -> wie sage ich dem compiler er soll an dieser Adresse springen :  0x008
> TIMER1_OVF  Timer/Counter1 Overflow, wenn einen Überlauf auftritt?
Das TOIE1Bit setzen und sei() aufrufen bzw das GIE-Bit setzen. Wenn dann 
noch eine ISR(TIMER1_OVF_vect) definiert ist, wird sie angesprungen.

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.