TIMER1 Interrupt blockiert INT0

OP #2153681
Lesenswert?
• ▲
▼
Hallo an alle,
ich arbeite mit MPLAB 8.66 und der MPLAB SIM.
Als MC habe ich einen PIC32MX460F512 gewählt.
Wenn ich den INT0 und den INT1 aktiviere ohne den TIMER1 zu verwenden 
geht alles wie erwartet.
Sobald ich den TIMER1 initialisiere geht der INT0 nicht mehr.
Hier mein Code:
1
/***********************************************************************************************************/
2
/* DDC Clk (Timer 1 Initialisierung                                                                        */
3
/***********************************************************************************************************/
4
void InitClkDDC(void)
5
{
6
  //Timer1 öffnen    
7
  OpenTimer1(T1_ON | T1_SOURCE_INT | T1_PS_1_1, T1_TICK);
8
  // Output Pin
9
  PORTSetPinsDigitalOut(IOPORT_D,BIT_0);
10
}
11

12

13
/***********************************************************************************************************/
14
/* Interrupt Initialisierung                                                                               */
15
/***********************************************************************************************************/
16
void InitInterrupts(void)
17
{
18
  //Konfigurieren des Interrupt 0  
19
  ConfigINT0(EXT_INT_PRI_1 | RISING_EDGE_INT | EXT_INT_ENABLE);
20
  //Konfigurieren des Interrupt 1
21
  ConfigINT1(EXT_INT_PRI_1 | RISING_EDGE_INT | EXT_INT_ENABLE);
22
  //Konfigurieren des Timer1 Interrupt
23
    ConfigIntTimer1(T1_INT_ON | T1_INT_PRIOR_2);
24
  //Multi Interrupt einschalten
25
  INTConfigureSystem(INT_SYSTEM_CONFIG_MULT_VECTOR);
26
  //Interrupts einschalten
27
    INTEnable(INT_T1, INT_ENABLED);
28
  INTEnable(INT_INT0, INT_ENABLED);
29
  INTEnable(INT_INT1, INT_ENABLED);
30
}
31

32
/***********************************************************************************************************/
33
/* Interrupt Handler für INT0                                                                              */
34
/***********************************************************************************************************/
35
void __ISR(_EXTERNAL_0_VECTOR,ipl1) Int0Handler(void)
36
{
37
  //Löschen des Flags  
38
  INTClearFlag(INT_INT0);
39
  DataValid(0);
40
}
41

42
/***********************************************************************************************************/
43
/* Interrupt Handler für INT1                                                                              */
44
/***********************************************************************************************************/
45
void __ISR(_EXTERNAL_1_VECTOR,ipl1) Int1Handler(void)
46
{
47
  //Löschen des Flags  
48
  INTClearFlag(INT_INT1);
49
  DataValid(1);
50
}
51

52
/***********************************************************************************************************/
53
/* Interrupt Handler für Timer1                                                                            */
54
/***********************************************************************************************************/
55
void __ISR(_TIMER_1_VECTOR, ipl2) Timer1Handler(void)
56
{
57
// clear the interrupt flag
58
    INTClearFlag(INT_T1);
59

60
    // .. things to do
61
    // .. in this case, toggle the LED
62
    PORTToggleBits(IOPORT_D,BIT_0);
63
  testBit=PORTReadBits(IOPORT_D,BIT_0);
64
}

Weis Jemand was hier Falsch ist?

Gruß Robert

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.