www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Komisches Verhalten (7 Zeilen Code inklusive) :-)


Autor: Kurt (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Folgender Codeabschnitt befindet sich in einer Funktion, die mit 
höchster Priorität zyklisch aufgerufen wird, also nicht unterbrochen 
wird:

http://www.abload.de/img/asmsir.jpg (oder siehe Dateianhang)

Wenn ich das jetzt so debugge mit den beiden eingestellten Breakpoints, 
wird der zweite Breakpoint nicht angesprungen. Lösche ich den ersten 
Breakpoint, wird der zweite angesprungen. Woran könnte das denn liegen? 
Stehe wahrscheinlich grad auf dem Schlauch

Danke für eure Tipps

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vermutung:

Durch deinen 1. Breakpoint verlangsamst du den Programmablauf enorm. 
Dadurch bekommt das Programm nicht mehr mit, dass die volatile Variable 
rx_success_pt2 gelegentlich FALSE ist. Bis der Debugger sich auf den 1. 
Breakpoint eingeschossen hat, ist rx_success_pt2 schon wieder ungleich 
FALSE.

Autor: Kurt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zu 99,9% der Zeit ist rx_success_pt2 allerdings TRUE, und trotzdem wird 
in die if-Bedingung verzweigt. Verändert wird die Variable viele Zeilen 
später in derselben Funktion. Hmmm...

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kurt wrote:
> Verändert wird die Variable viele Zeilen
> später in derselben Funktion. Hmmm...

Ist sie denn vorher korrekt initialisiert?

Autor: Kurt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
static und static volatile wurden ausprobiert

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
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.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.