Zur Unterbrechung nach anfangen?

I

ipunished

Guest
Ich verstehe, dass, wenn eine Unterbrechung der Mikro-Controller zurück tritt, wo es von links .. aber meine unterbrechen besteht aus einem Stop-Schalter, dh nach dem iterrupt ich will es, alles zu stoppen .. mein Code besteht aus einem Motor läuft in einer while (1) Schleife .. nach dem Hardware-Interrupt gedrückt wird es sollte alles stoppen und dann wieder für den Start warten Taste gedrückt werden .. Ich dachte an den Aufruf der Start-Taste Funktion innerhalb des ISR, aber das wird verlassen den ungeklärten Stapel. keiner Weise, dies zu umgehen?
 
Könnten Sie Ihren Code und schematische ... Und auch Sie erwähnt nach dem Hardware-Interrupt gedrückt wird es sollte alles stoppen, bedeutet, dass Sie selbst Controller ausgeschaltet oder nur Motor ... Wenn Sie ganze System [Regler zu] wollen ausgeschaltet kann ich eine Lösung ... Dies kann, indem man kleine Hardware-Schaltung erfolgen ... Mit ODER-Gatter [74HC1G32] und Lastschalter [FPF2100] können Sie diese erreichen ... ODER-Gatter hat zwei Eingänge [A und B] B-Taster angeschlossen werden sollen [Schaltfläche einem Ende zum Eingang des ODER-Gatter und das andere Ende gehen wird geht an VCC mit Pull-Down-Widerstand] und A sollte der Controller verbunden GPIO, die Ausgabe von Get ODER-Gatter [Y] auf ON von FPF2100 [mit Pull-Down-Widerstand] [Pin 3.] verbunden bekommen ... Die VOUT [5. pin] von FPF2100 wird VCC des Mikrocontrollers verbunden bekommen ... Die Logik ist ganz einfach, wenn Sie Taster drücken, der Ausgang des ODER-Gatters wird hoch sein, dass ist mit Lastschalter dann Macht geht an Controller ... In Ihrem Programm machen die GPIO hoch [Welche anderen Eingang des ODER-Gatters verbunden ist], dann kontinuierlich Macht geht an Controller ... Dann Stop-Schalter gedrückt wird, stoppen mehr [Gefällt Ihnen was Sie gesagt] ... Auch Start-Schalter gedrückt wird, Hardware kümmert sich um alles [Außer machen GPIO hohe ]...: Lächeln nehmen:
 
Vielen Dank für Ihre ausführliche Antwort, kandhu, aber ich möchte nicht den Mikrocontroller komplett ausschalten, wie nach der Unterbrechung, ich will es warten, bis die Start-Taste erneut, ich möchte nur tahts nach dem Stop-Schalter gedrückt ist es einfach nicht mehr läuft alles , ich meine senden 0 bis alle Ausgänge, aber danach habe ich wollen, dass es für den Start switchg wieder warten .. mein Code für die ISR bereits jetzt enthält nur die Entsendung von 0 bis die Ausgangs-Ports = /
 
Du könntest ändern Sie den Code in das ISR-Routine, und verwenden Sie eine einfache Schleife wartet auf den Schalter erneut betätigt werden. Sobald diese Taste gedrückt wird beginnen everthing beenden Sie dann das Routine.
 
| Ich dachte an das, aber es wird nicht verlassen Missmanagement Stapel .. Ich meine, wenn der Mikrocontroller ISR, speichert es, was seine auf Stapel zu tun und kommen dann zurück und holen geht ..
 
Es ist besser, den Code hier setzen ... Dann geben jemand Lösung für Ihr Problem ...
 
Wenn Sie die Routine ein, stoppt er den Prozess zu unterbrechen. Es speichert nur die Absenderadresse. Sie müssen so etwas wie dieses Register "Speichern". den Motor zu stoppen. alle Ausgänge auf Null. Loop für den Switch wartet gedrückt werden wieder. starten Sie den Motor die Ausgänge wieder herzustellen. klar jede Interrupt-Flags wiederherstellen Register [I ] Ausfahrt isr [/I]
 

Welcome to EDABoard.com

Sponsor

Back
Top