Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum

Re: Probleme mit externern Interupt Kategorie: Programmierung Basic (von PeterS - 23.01.2009 14:23)
Als Antwort auf Probleme mit externern Interupt von Andreas - 23.01.2009 11:34

> 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:

Re: Probleme mit externern Interupt (von Andreas - 23.01.2009 16:01)