Hai ,

Zitat Zitat von R2D2 Bastler Beitrag anzeigen
Code:
'-------------------------------------------------------------------------------------------------------------
'ISR IR Daten empfangen
'-------------------------------------------------------------------------------------------------------------

Ir_data_start:
Ir_data = &B00000001
Timer1 = 155                                                ' nach rund 808 us den Timer Interrupt auslösen
Enable Timer1
Disable Int0                                                ' weiter Interrupts durch INT0 unterbinden

Return
Könnte ein Bug hier versteckt liegen?
Zum Zeitpunkt des Ansprungs der "Ir_data_start:" könnte das TOV1 Interruptflag schon gesetzt sein, da der Timer1 läuft. Durch das "Enable Timer1" springt AVR deshalb SOFORT nach Beendigung von "Ir_data_start:" in die "Daten_sammeln:"
Abhilfetest: Nach "Timer1 = 155" ein "set tifr.tov1" (vorsorglich anstehendes TOV1 Flag löschen) einfügen?

Gruß
Searcher