- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 10 von 10

Thema: sofortigen programmstop durch interrupt auslösen

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.06.2004
    Beiträge
    118

    sofortigen programmstop durch interrupt auslösen

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo an alle!
    Folgendes (Verständnis)Problem:
    Ich habe eine Hauptschleife die ca. 20 befehle ausführt bis irgendwann ein Interrupt auslöst. Wie mach ich das jetzt das die schleife sofort nach auslösung des Interrupts anhält und nicht bis zum ende weiterläuft um dann anzuhalten? Ich kann doch nicht in jeder zweiten zeile das interrupt-flag überprüfen lassen. Gibts da nicht was einfacheres?
    Vielen Dank schonmal...
    Gruß, Markus

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Mit Bascom stell ich mir das eher schwierig vor (auch in anderen Hochsprachen, weil das eigentlich ein "don't" ist )
    Aber prinzipiell steht die Rücksprung-address (wo er grad war beim Interrupt) auf dem HW-Stack und könnte dort gelesen und auch verändert werden.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Der übliche Weg wäre schon das im Interrupt irgend ein Flag (eine Variable) gesetzt wird und das deine Schleife dieses Flag zumindest einmal pro Durchgang abfragt.

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.06.2004
    Beiträge
    118
    @frank
    ja, aber ich will eben das die schleife sofort beendet wird und nichtbis zum ende weiterläuft.
    @picnick
    Hey, die idee mit der rücksprung-adresse ist gut. Allerdings weiß ich natürlich nicht wie man die verändern kann. Mit Bascom geht das wohl sicher nicht, aber wenn ich wüsste in welchem register die drin liegt könnt ich ja in Bascom mit assembler code die Adresse ändern. Allerdings würde sich die rücksprung-adresse ja jedes mal ändern wenn ich in meinem programm eine zeile dazu schreib oder lösche oder nicht?

  5. #5
    Gast
    Au weia, der thread wird absolut gemein und für Frisch-operierte, Rekonvaleszente und Jugendliche absolut verboten.
    Das, was auf dem Stack als Return liegt, paßt immer, da sind Programmänderungen wurst.
    Anders ist es mit der "neuen" Zieladresse, die kann sich natürlich verschieben.
    Wir brauchen also elegant die Exit-Adresse von der Schleife, die du massakrieren willst.
    Laß mich ein bißchen nachdenken, ich rühr' mich.

  6. #6
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Hopperla, der Gast bin ich
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.06.2004
    Beiträge
    118
    Ich habs nicht so eilig, es geht mal wieder um meinen schrittmotor. Die schleife ist die ansteuerung und der interrupt ist der anschlag. Und wenn mal irgendwas schief geht und er gegen den anschlag fährt hätt ich eben gern das er damit sofort aufhört.
    Gruß

  8. #8
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Da brauchst du doch nur EINMAL VOR dem STep-Takten den von Frank angesprochenen Flag abfragen.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    01.06.2004
    Beiträge
    118
    naja, ich muss es ja vor jedem step machen, ich dachte es gäbe da was komfortableres.

  10. #10
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Nein, weder komfortable noch einfacher, außerdem eine stilistische Sauerei.
    Da werden doch sicher noch mehr Bedingungen sein die du ja auch abfragen mußt.
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad