STM32: Code wird nur im Debugger aufgerufen

Gast #7124622
Lesenswert?
• ▲
▼
Hallo :)

Ich prüfe in meiner Callback-Routine ob im Statusregister das 
Interrupt-Bit für UIF gesetzt wurde. Jetzt ist das Problem ein bisschen 
schwer zu erklären.

Lasse ich den Code normal laufen, wird die if-Anweisung nicht behandelt 
und i nicht hochgezählt, der Breakpoint B in BreakB nie aufgerufen.

Setze ich hingegen auch Breakpoint A (BreakAB), wird dieser zyklisch 
aufgerufen und danach auch Breakpoint B und i inkrementiert.

Hat jemand eine Erklärung dafür? Danke

(STM32CubeIDE und STM32G032)
Angehängte Dateien:
Gast #7124637
Lesenswert?
• ▲
▼
Kann es sein dass die HAL-Library das UIF Flag bereits abfragt und 
löscht? Wenn du den Breakpoint setzt läuft der Timer sofort nochmal über 
und das Flag wird gesetzt bevor du es abfragst. Du brauchst die Abfrage 
also gar nicht.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.