Externe Interrupt auf LPC 2148

M

mbshank

Guest
Hallo ich bin mit LPC2148.I Arbeit haben die EXTINT1 und P0.14 für externe interrupt.On Zurücksetzen des Code führt die ISR Stattdessen soll es auf der Hauptstraße bleiben program.Can jemand sagen, was würde das Problem main () {while werden ( 1) {ISR_INT (); / / Interrupt auftritt, wenn es ausführen sollte der ISR. Dank Shiv}.
 
U r soll nicht Interrupt Service Routine Funktion im Hauptprogramm aufrufen ... Es sollte außerhalb des Hauptprogramms werden ..... Normalerweise wird der Programmablauf ab der Hauptfunktion [Es wird die Aufgabe einer nach dem anderen ausgeführt in der Hauptfunktion ].... Wenn Interrupt auftritt, wird die normale Pause Aufgabe [in Hauptfunktion] und es wird die besondere Aufgabe, die in Interrupt Service Routine aufgerufen wird, wollen .... Nach Beendigung besondere Aufgabe wird es wieder auf die Hauptfunktion, wo es angehalten wurde ..... kommen
 
U r soll nicht Interrupt Service Routine Funktion im Hauptprogramm aufrufen ... Es sollte außerhalb des Hauptprogramms werden ..... Normalerweise wird der Programmablauf ab der Hauptfunktion [Es wird die Aufgabe einer nach dem anderen ausgeführt in der Hauptfunktion ].... Wenn Interrupt auftritt, wird die normale Pause Aufgabe [in Hauptfunktion] und es wird die besondere Aufgabe, die in Interrupt Service Routine aufgerufen wird, wollen .... Nach Beendigung besondere Aufgabe wird es wieder auf die Hauptfunktion, wo es angehalten wurde .....
Vielen Dank für Ihre Antwort werde ich es kommen. Shiv.
 
Ich habe von der Initialisierung der ISR außerhalb der Main-Funktion versucht, aber wieder auf Reset der ISR ausführt und dann kommt mit dem Rücken zur Main-Funktion und dann weiter seine Arbeit gut, wie kann ich dieses Problem zu vermeiden. Shiv
 
Es ist überhaupt kein Problem .... Es sollte wie die nur .... Nach Abschluss ISR [Interrupt Service Routine] hat es zurück zu kommen ..... Hauptfunktion Könnte u erzählen Sie mir genau, was ur Anforderung ....
 
Vielen Dank für Ihre Antwort Mein Problem ist, dass ich eine Weile (Set == 1) haben; Schleife in meinem ISR und es bleibt dort für den Zustand mentioned.What ich will, ist, dass die ISR ausgeführt werden soll nur, wenn die EXTINT1 occurs.ON zurücksetzen bleibt dort in der ISR und ich bin nicht in der Lage, den Code von meinem MAIN.Please mir helfen laufen. Shiv
 
ok ... Ich kann verstehen, ur Problem .... Bei Unterbrechung auftritt Whatever U Want 2 do just do it in Hauptfunktion ... In ISR Sie nur ein Satz Flagge Interrupt auftritt, wenn .... In [Hauptfunktion] while (1) nur prüfen, wenn die Flagge wahr ist oder nicht .... Wenn das Flag true [Flag ist nur wahr, wenn Interrupt auftritt] wollen die alle Vorgänge .....
 
hI kandhu26 # include void ext_interrupt (void) {__irq EXTINCT = 0x02; / * Clear Interrupt-Flags * / printlcd ("Ja"); VICVectAddr = 0x00000000; / * Interrupt Acknowledge * /} void init_ext (void) {PINSEL0 | = 0x20000000 / * ermöglichen EXT1 * / EXTMODE = 0x02; / * Rand empfindlich * / EXTPOLAR = 0x02; / * bei steigender Flanke * / VICVectAddr0 = (unsigned int) ext_interrupt / * Set Interrupt Vector in 0 * / VICVectCntl0 = 0x0000002F; / * Verwenden Sie es für EXT1 Interrupt * / VICIntEnable = 0x00008000; / * ermöglichen EXT1 INTERRUPT * /} int main (void) {init_lcd (); init_ext (); while (1) {printlcd ("NO");}} Das ist mein Code, wenn ich Reset der ISR wird zunächst Ex ausgeführt: Es Display als "ja" (ISR-Code) und führt dann die Haupt-Code "nein" Display Was ich tun möchte, ist bis eine Unterbrechung auftritt sollte es in das Hauptprogramm zu bleiben. Ich habe durch Einsetzen einer Flagge in ISR aber bin ich wieder vor dem gleichen Problem versucht. Thanks & Regards Shiv
 

Welcome to EDABoard.com

Sponsor

Back
Top