Re: SW1/2 und INT4/6 Kategorie: Programmierung C (von FrankT - 27.04.2006 18:16) | ||
Als Antwort auf Re: SW1/2 und INT4/6 von PeterS - 27.04.2006 7:42 | ||
| ||
Ich habe das Programm mal auf das Wesentliche zusammengeschrumpft: void s1_int(void) { // ISR SW1 Msg_WriteChar('1'); // Just let me know Irq_GetCount(INT_4); // Clear Interrupt-Flag } void s2_int(void) { // ISR SW2 Msg_WriteChar('2'); 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(INT_4, 2); // activate interrupt for both edges Irq_SetVect(INT_6, s2_int); Ext_IntEnable(INT_6, 2); while (true) ; } > Hi, > > bitte das vollständige Programm mit dem IRQ_SetVect Aufruf angeben. Ich sehe mir das am > Wochenende an. > > Gruss Peter > > > Hallo, > > ich habe versucht, beim Drücken/Loslassen von SW1 bzw. SW2 je einen Interrupt auslösen zu lassen, > > da diese ja auf INT4 bzw. 6 liegen. (CCPro128+AppBoard) > > Dazu habe ich die Ports E.6 und E.4 als Eingang definiert. Danach mit WriteBit die PullUps aktiviert. > > Zum Schlu� noch den IRQ_SetVect und Ext_IntEnable(INT_4,2). > > Aber es wid nie ein Interrupt ausgelöst. (Die Taster schalten gegen Masse, da der PullUp ja gegen Vcc geht). > > Wo liegt hier der Fehler? | ||
Antwort schreiben Antworten: Re: SW1/2 und INT4/6 (von PeterS - 6.05.2006 12:45) 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