Forum: Mikrocontroller und Digitale Elektronik TIFR Flag gezielt löschen


von Jaqueline (Gast)


Lesenswert?

Hallo,

ich möchte im TIFR ein anstehendes Interrupt gezielt löschen. Laut 
Datenblatt geschieht dies durch Schreiben einer 1 in das entsprechende 
Bit.
Wenn ich jetzt bspw. Beim Atmega8 das compare match flag für Timer 1 A 
löschen möchte, schreibe ich dann:
TIFR |= (1 << OCF1A);
Wird dabei nur das OCF1A Flag gelöscht oder auch alle weiteren im TIFR 
Register?

Danke für eure Mühe.

LG
Jaquy

von Krapao (Gast)


Lesenswert?

> TIFR |= (1 << OCF1A);

Nein, nicht so sondern so:

TIFR = (1 << OCF1A);

Bei der ODER Schreibweise löschst du - beim Löschen durch 1 Schreiben 
- auch andere IRQ-Flags! Mach dir das ggf. mit Beispielen klar. Die 
Bitnummer OCF1A habe ich nicht kontrolliert.

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.