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