STM32F103RB Code wird nicht richtig interpretiert

Gast #3246681
Hallo,

ich möchte einen Impuls erzeugen und bekomme einen komischen Zustand bei 
der While-Schleife.

in main.cpp wird durch den Timerinterrupt die Methode setStop in 
transmitter.cpp aufgerufen:

main.cpp:
extern void setStop(void);

extern void impulsCallback(ITimer &)
{
  setStop();
}

in transmitter.cpp wird dann die variable stop gestetzt.

transmitter.cpp:

void setStop(void)
{
  stop = true;
}


void performPosImpuls(void)
{
  GPIO_WriteBit(GPIOB, GPIO_Pin_10, Bit_SET);
  GPIO_WriteBit(GPIOB, GPIO_Pin_11, Bit_RESET);

  timer->start(1000, false);
  while(!stop);

  GPIO_WriteBit(GPIOB, GPIO_Pin_10, Bit_RESET);
  GPIO_WriteBit(GPIOB, GPIO_Pin_11, Bit_RESET);

  stop = false;
}

Nun ist es so, dass der Controller bei der while Schleife trotz 
erfüllter Bedingung nicht weitergeht.

Ein Ausschnitt des Debuggers ist angehängt.


Vielleicht kennt jemand das Problem und kann mir weiterhelfen.

Vielen Dank im voraus
Angehängte Dateien:
Gast
In solchen Fällen kann es hilfreich sein auf disassembly-Ebene zu 
debuggen.
Da siehst Du dann direkt was in welche Register geladen wird und was mit 
wem verglichen wird.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.