Hallo,
vom dsPIC33 kommend, habe ich doch noch die ein oder andere Frage zu den
Interrupts beim PIC32. Zum Testen möchte ich ein Bit im Timer1-Interrupt
toggeln. Dazu habe ich meinen Timer wie folgt in der Main konfiguriert:
1 | /*Timer 1*/
|
2 | T1CONbits.ON = 0;
|
3 | T1CONbits.TCKPS = 01; //Prescale 8
|
4 | PR1 = 1000;
|
5 | TMR1 = 0x00;
|
6 |
|
7 | IFS0bits.T1IF = 0;
|
8 | IPC1bits.T1IP = 5;
|
9 | IEC0bits.T1IE = 1;
|
10 |
|
11 | T1CONbits.ON = 1;
|
Die ISR habe ich so aus einem Beispiel von der Microchip Homepage:
1 | void __ISR(_TIMER_1_VECTOR, ipl2) Timer1Handler(void){
|
2 |
|
3 | LATBbits.LATB10 = !LATBbits.LATB10;
|
4 |
|
5 | IFS0bits.T1IF = 0;
|
6 | }
|
Beim dsPIC haben diese Schritte ausgereicht. Ich vermute, dass ich beim
PIC32 weitere Bits setzen muss, um Interrupts global zu erlauben. Leider
ist mir aus dem Datenblatt nicht klar, welche Bits das sind. Vielleicht
hängt es aber auch mit der Subpriority zusammen. Meine zweite Frage
bezieht sich direkt auf die ISRs. Gibt es irgendwo eine Zusammenfassung
wie die ISR für jede einzelne Interrupt-Art lautet? Beim dsPIC habe ich
die alle im Header-File gefunden.. hier suche ich bis jetzt vergeblich..
Wünsche euch noch einen schönen Sonntag, und schonmal vielen Dank für
die Unterstützung!!!