Gast
#3327064
Hallo, ich habbe folgendes Problem :
Mein Programm springt nicht in die ISR wenn ich eine positive Flanke an
P2.6 anlege.
void main(void)
{
WDTCTL = WDTPW + WDTHOLD; // Stop WDT
// Einstellungen für P2.6 als Interrupt Quelle
CLR(P2SEL,BIT6); // P2.6 XIN deaktivieren
SET(P2DIR,BIT6); // P2.6 = Input
CLR(P2IES,BIT6); // P2.6 Interrupt bei steigender Flanke
SET(P2IE,BIT6); // P2.6 Interrupt enable
SET(P2REN,BIT6); // Pullup/pulldown resistor enabled
CLR(P2OUT,BIT6); // Eingang an 0 Potential ziehen
LED_ON;
while(1)
{
}
}
#pragma vector=PORT2_VECTOR
__interrupt void Port_2(void)
{
if(P2IFG & BIT6)
{
LED_OFF;
CLR(P2IFG,BIT6);
}
}
CLR und SET sind makros die zum setzen und löschen von bits verwendet
werden.
LED_ON schaltel eine led ein und LED_OFF schaltet sie wieder aus