Gast
#990230
Hi Leute! Ich möchte am Port 1 auf dem auch das JTAG interface verbaut ist eine Interrupt-abfrage machen. Hab dafür auch den Code geschrieben und der funktioniert. Jedoch funktioniert er immer nur für einen Taster. Wenn ich jetzt im Interrupt 2 Taster abfragen will dann spielt das ganze ding verrückt. Ich versteh das nicht... kann das sein dass ich die Interrupts dann anders rücksetzen muss oder wie? CODE: //---------------------------------------------------------------------- --- if((P1IFG & BIT6)){ //Abfrage auf Interruptflag an P1.6 P1IE &= ~BIT6; //while(P1IN & BIT6); //Warten bis Taster wieder losgelassen sChannel=1; //Kanalauswahl //for(k=0;k<=3000;k++); //Entprellung P1IE |= BIT6; //Interrupt wieder freigeben } //---------------------------------------------------------------------- --- if(P1IFG & BIT7){ //Abfrage auf Interruptflag an P1.7 P1IE &= ~BIT7; //Interrupt sperren (wegen Prellung) //while(P1IN & BIT7); //Warten bis Taster wieder losgelassen if(P2IE & BIT0) //T1 (bett) für Start des Nulldurchgangsinterrupt P2IE &= ~BIT0; else P2IE |= BIT0; //for(k=0;k<=3000;k++); //Entprellung P1IE |= BIT7; //Interrupt wieder freigeben } P1IFG &= ~BIT6; //Interrupt T2 löschen P1IFG &= ~BIT7; //Interrupt T1 löschen Wieso soll das nicht funktionieren? Hab auch das flag schon in der IF schleife rückgesetzt. das bringt auch nichts!!! Bitte um hilfe! mfg, geri