[STM32] Probleme mit Peripherie nach STOP-Mode

OP Persönliche Seite #5124058
Guten Nachmittag :)

ich hab einen STM32L1, der nach dem STOP-Mode manchmal nicht richtig 
funktioniert.

Beispielsweise hängt er dann in einer Re-Initialisierung des ADCs:
1
/* Enable ADC1 */
2
ADC_Cmd(ADC1, ENABLE);
3
/* Wait until the ADC1 is ready */
4
while (ADC_GetFlagStatus(ADC1, ADC_FLAG_ADONS) == RESET) {
5
}
6

7
ADC_TempSensorVrefintCmd(ENABLE);
8
while (!(PWR->CSR & PWR_CSR_VREFINTRDYF)) {
9
}

Manchmal in der oberen While-Schleife, manchmal in der unteren.

Ich hatte nach dem STOP-Mode die Hardware einfach nochmal komplett neu 
initialisiert und meistens funktioniert das ohne Probleme.

Die beste Problemlösung bisher war:
1
PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);
2
NVIC_SystemReset();


Kennt das Phänomen zufällig jemand und weiß Abhilfe?



Viele Grüße,
Mampf
Gast #5124371
Ich kenn zwar dein Problem nicht, aber ich würde mir entweder die 
betreffenden Bibliotheksfunktionen genauer ansehen oder das 
Herunterfahren und Wiederbeleben selbst schreiben, ebenso die 
Initialisierungen.

Oftmals braucht es die passende Reihenfolge beim Wiederzuschalten von 
Peripherie-Cores und deren Taktversorgung, sonst hackt man womöglich auf 
einem Register herum, das grad eben noch taub ist, weil man vergessen 
hat, daß gerade dieses Register ab Reset ja per default aktiviert war, 
was aber nach Taktabschaltungen eben nicht mehr der Fall ist.

W.S.
OP Persönliche Seite #5124637
W.S. schrieb:
> Oftmals braucht es die passende Reihenfolge beim Wiederzuschalten von
> Peripherie-Cores und deren Taktversorgung, sonst hackt man womöglich auf
> einem Register herum, das grad eben noch taub ist, weil man vergessen
> hat, daß gerade dieses Register ab Reset ja per default aktiviert war,
> was aber nach Taktabschaltungen eben nicht mehr der Fall ist.

Interessanter Tipp, danke :)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 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.