Hallo liebes Forum, ich programmieren einen STM32F303. Bei einer bestimmten Aktion soll ein Reset ausgeführt werden. Dafür verwende ich die folgende Funktion aus der Library: NVIC_SystemReset(); Das hat schon mal wunderbar funktioniert, allerdings klappt es auf einmal nicht mehr. Ich weiß leider nicht, was ich "anders" gemacht habe... Zum weiteren Testen habe ich die folgende Zeile einfach mal direkt eingegeben: SCB->AIRCR = ((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | SCB_AIRCR_SYSRESETREQ_Msk); Beim Debuggen habe ich festgestellt, dass nach dieser Zeile das Programm normal weiter ausgeführt hat (also ohne Reset)... Übrigens: Der Watchdog funktioniert auch nicht! Habe diesen zum Test ausprobiert, aber es erfolgt ebenso kein Reset! Könnt ihr mir Hinweise/Tipps geben, was ich noch berücksichtigen muss?? Danke im Voraus!
Ste schrieb: > Beim Debuggen habe ich festgestellt, dass nach dieser Zeile das Programm > normal weiter ausgeführt hat (also ohne Reset)... Mal den Disassembler bemüht? Eventuell ist ja was bei Kompilieren oder Flashen schief gegangen und ein älterer Software Stand auf dem µC.
Ich mach dass immer so über den Watchdog:
1 | IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); |
2 | IWDG_SetPrescaler(IWDG_Prescaler_128); |
3 | IWDG_SetReload(0x140); |
4 | IWDG_ReloadCounter(); |
5 | IWDG_Enable(); |
Ohman schrieb: > Ich mach dass immer so über den Watchdog: > IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); > IWDG_SetPrescaler(IWDG_Prescaler_128); > IWDG_SetReload(0x140); > IWDG_ReloadCounter(); > IWDG_Enable(); Nachdem die Funktion NVIC_SystemReset(); nicht mehr funktioniert hat, habe ich es mit dem Watchdog probiert (exakt der gleiche Code, wie von dir eben geschrieben). Aber es will einfach kein Reset erfolgen. Es hat doch schon mal funktioniert, aber ich habe mittlerweile so viel Code hinzugefügt, dass ich leider nicht mehr nachvollziehen kann, was den uC "stört"....
Ste schrieb: > Bei einer bestimmten Aktion soll ein Reset ausgeführt werden. Eine Software die mit ihren "Notfällen" nicht umgehen kann die taugt nichts!
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.