Re: Probleme mit externern Interupt Kategorie: Programmierung Basic (von Andreas - 23.01.2009 16:01) | |
Als Antwort auf Re: Probleme mit externern Interupt von PeterS - 23.01.2009 14:23
| |
Besten Dank für die schnelle Antwort hat jetzt geklappt. Gruss Andreas > > Hallo, > > will zum ersten mal mit externen Interupt arbeiten. > > Um überhaupt eine Reaktion zu bekommen soll über Taster 2 der nach 5V schaltet, bei jedem > > Flankenwechsel ein Interupt ausgelöst werden. > > Habe aber schon Probleme mit folgendem kleinen Programm. > > > > wer kann mir helfen, was mach ich falsch > > Besten Dank im voraus > > Andreas > > > > > > 'MEGA 128 IDE 1.71.0.5 > > Dim Temp_Text(30) As Char > > > > Sub main() > > Port_DataDirBit(PORT_LED1,PORT_OUT) > > Port_DataDirBit(PORT_LED2,PORT_OUT) > > > > Port_WriteBit(PORT_LED1,PORT_OFF) > > Port_WriteBit(PORT_LED2,PORT_ON) > > AbsDelay (150) > > Irq_SetVect(6,SW2_Interupt)'SW2 > > Ext_IntEnable(6,1) 'SW2 > > Wie auch schon im Handbuch zu Ext_IntEnable() steht: > "Der Parameter IRQ hat Werte zwischen 0 und 2 auf dem Mega32 und zwischen 0 und 7 auf dem > Mega128. Nicht verwechseln mit dem irqnr Parameter von Irq_SetVect()." > > Sprich es mu� hei�en: > > Irq_SetVect(INT_6, SW2_Interupt)'SW2 > > weil INT_6 = 16 > > Gruss Peter > > > > Do > > Port_WriteBit(PORT_LED1,PORT_ON) > > Port_WriteBit(PORT_LED2,PORT_OFF) > > Loop While 1 > > > > > > End Sub > > > > Sub SW2_Interupt() > > Dim irqcnt As Integer > > Port_WriteBit(PORT_LED1,PORT_OFF) > > Port_WriteBit(PORT_LED2,PORT_ON) > > Temp_Text = "Interupt" > > Msg_WriteText (Temp_Text) > > Msg_WriteChar (13) > > Msg_WriteChar (10) > > irqcnt=Irq_GetCount(6) > > End Sub > > | |
Antwort schreiben Antworten: |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum