TOV0 AT90CAN128

Gast #1297841
Lesenswert?

Hallo Zusammen
ich fänge mit dem Mikrocontroller AT90CAN90128 an. ich habe mit dem 
Timer0, besonder mit dem TOV0-Flag. ich will jedesmal diesen TOV0-Flag 
in Interrupt löschen, aber es geht nicht und ich weisse nicht warum. ich 
habe 2 Falls.

1)Wenn ich die Funktionen sei() und cli() benutze , wird TOV0-Flag 
gesetzt aber das Interrupt wird nicht angerufen.

2) Wenn ich die Funktion sei() benutze, wird TOV0-Flag nie gesetzt aber 
das interrupt wird angerufen

Mein Ziel ist jedesmal TOV0-Flag in Interrupt loeschen können.

Ich brauche Ihr Hilfe
#1297855
Lesenswert?

gast schrieb:

> ich weisse , dass es möglich TOVO-Flag software zu lösen und ich will
> auch software loeschen.

Nein. Du kannst das Flag im Overflow-Interrupt nicht per Software 
löschen, weil es zu diesem Zeitpunkt bereits durch die Hardware gelöscht 
wurde.

Erklär doch mal, warum du das Flag unbedingt im Interrupt per Software 
löschen willst. Es gibt keine Notwendigkeit dafür, und ich kann mir auch 
sonst keinen Grund vorstellen, warum man das tun wollte (außer 
vielleicht am Ende eines sehr langen Interrupts).

PS: Natürlich ist das Löschen im Interrupt nicht grundsätzlich nicht 
möglich. Wenn das Flag erneut gesetzt wurde, kannst du es natürlich auch 
im Interrupt wieder per Software zurücksetzen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren