Re: SW1/2 und INT4/6 Kategorie: Programmierung C (von PeterS - 6.05.2006 12:45) | ||
Als Antwort auf Re: SW1/2 und INT4/6 von FrankT - 27.04.2006 18:16 | ||
| ||
Hi, ich war letztes Wochenende leider verhindert, deshalb die Antwort mit Verspätung. Es ist etwas mi�verständlich im Handbuch. Der IRQ Parameter von Ext_IntEnable() ist eine Zahl zwischen 0 und 7. Nicht zu vergessen mit den Vektoren, für die es defines gibt. Hier das funktionierende Beispiel: void s1_int(void) { // ISR SW1 Msg_WriteChar('1'); // Just let me know Msg_WriteChar(13); Irq_GetCount(INT_4); // Clear Interrupt-Flag } void s2_int(void) { // ISR SW2 Msg_WriteChar('2'); Msg_WriteChar(13); Irq_GetCount(INT_6); } void main(void) { Port_DataDirBit(PORT_SW1, 0); // port is input Port_WriteBit(PORT_SW1, 1); // with pull-up Port_DataDirBit(PORT_SW2, 0); Port_WriteBit(PORT_SW2, 1); Irq_SetVect(INT_4, s1_int); // set interrupt vector Ext_IntEnable(4, 2); // activate interrupt for both edges Irq_SetVect(INT_6, s2_int); Ext_IntEnable(6, 2); while (true); } | ||
Antwort schreiben Antworten: Re: SW1/2 und INT4/6 (von FrankT - 7.05.2006 0:45) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum