Re: Interrupt 2, INT_2 Kategorie: Programmierung Basic (von Joerg - 22.09.2010 8:08) | ||
Als Antwort auf Re: Interrupt 2, INT_2 von Klaus - 21.09.2010 22:30 | ||
| ||
> Peter > > Ein Nachtrag. Da ich keinen USB Anschlu� habe, kann ich Msg_WriteText nicht > benutzen. Ich habe aber eine Warteschleife in dem Interrupt Programm eingebaut: > Do > k = k + 1 > Loop While k > > so da� erst nach dem Zählen aller Integer Zahlen die Schleife verlassen > wird und dann im Hauptprogramm den Interrupt Zähler ausgegeben. > > Es wurde immer 1 ausgegeben. Ich verstehe das so, da� während der Wartezeit > kein weiterer Interrupt angekommen ist. > > Klaus Hallo Klaus, Hallo Peter, ich habe das folgende Testprogramm auf meinem MEGA128 mit IDE 2.12.02 getestet, und es funktioniert ohne Probleme. Nach 10s kommen keine Interupts mehr durch. Den IRQ Eingang habe ich mit einem Taster belegt. Das Testprogramm ist im wesentlichen ein Kopie des Beispiels EXT_INT1.cc. Was mir bei dem Beispiel aufgefallen ist, ist das der IRQ Eingang nicht mit Port_DataDirBit als Eingang definiert wurde. Diese Frage geht an Peter. Ist dies bei Ext_IntEnable nicht nötig? Grü�e Jörg #define LF 0x0A #define CR 0x0D // ExtInt Quelle definieren #define EXTINT INT_2 // IntMode: 0= Interrupt bei 0 Pegel; 2=fallende Flanke; 3=steigende Flanke #define INTMODE 2 void Ext_ISR(void) { byte i; int irqcnt; Msg_WriteText("Ext IRQ "); Msg_WriteChar(CR); irqcnt=Irq_GetCount(EXTINT); // Interrupt Request Counter } //------------------------------------------------------------------------------ // Hauptprogramm // void main(void) { Msg_WriteText("Ext IRQ Test"); Msg_WriteChar(CR); Irq_SetVect(EXTINT,Ext_ISR); // Interrupt Service Routine definieren Ext_IntEnable(EXTINT,INTMODE); // Interrupt aktivieren Thread_Delay(1000); Msg_WriteText("Disable"); Msg_WriteChar(CR); Ext_IntDisable(EXTINT); while (1) { } } | ||
Antwort schreiben Antworten: Re: Interrupt 2, INT_2 (von Klaus - 23.09.2010 20:23) Re: Interrupt 2, INT_2 (von PeterS - 22.09.2010 12:04) Re: Interrupt 2, INT_2 (von Torsten - 22.09.2010 18:33) Re: Interrupt 2, INT_2 (von PeterS - 22.09.2010 19:40) Re: Interrupt 2, INT_2 (von Jörg - 22.09.2010 21:42) Re: Interrupt 2, INT_2 (von PeterS - 23.09.2010 9:38) |
Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - Zum C-Control-I-Forum - Zum C-Control-II-Forum