Gast
#164762
Hallo, ich bin der Anfanger in Thema PIC-Programmierung. Ich habe eine Interrupt-Prozedur erzeugt, die 2 Typen der Interrupts bedienen muss, und zwar Interrupt von Timer0 und von Timer1. Problem ist dass ich unterscheiden kann nicht, welches Interrupt augetretten ist, weil beide Flags TMR0IF und TMR1IF immer zu 1 eingesetzt sind. Ich dachte dass entweder TMR0IF oder TMR1IF eingesetzt ist. Wahrscheinlich verstehe ich etwas nicht und mache die Sachen nicht korrekt. Bitte um Hilfe! Danke, Jack. Hier mein Source-Code: void interrupt isr(void) { if (TMR0IF) // interrupt from Timer0 { // do something... TMR0IF = 0; // finally clear interrupt flags -> ready for next interrupt } if (TMR1IF) // interrupt from Timer1 { // ERROR: this handler is also called because TMR1IF is always 1, too! TMR1IF = 0; } }