Hallo zusammen.
Ich brauche mal wieder hilfe.. Hab gleich 2 Fragen.
Ich habe einen STM32F105 verwende codesourcery G++
dieser hängt an einem CAN System dran und Loggt mit... Hat auch nur
wenige Aufgaben Pins (bzw. LEDs) ein oder ausschalten, wenn bestimmte
nachrichten laufen.
1.Frage:
Wie kann ich ermitteln ob der Canbus an dem ich hänge noch Aktiv ist.
ich würde gerne darauf reagieren, wenn der BUS off ist.
Habe in der Doku zum STM nur gefunden was ihn in ein Bus-Off bringt.
BOFF: im CAN error status register (CAN_ESR)
Ich möchte ihn nämlich nach einiger zeit auch in ein Sleep mode
versetzen, das darf aber nur passieren, wenn der can den er abhört off
ist.
das mach ich mit
1 | PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);
|
2.Frage:
Da ich ab und zu ein Problem habe, wenn der Controller in bestimmten
Anwendungen zu lange läuft. möchte ich ihn gerne über den code Resetten.
Ich hab in der Doku nur das hier gefunden:
1 | Software reset
|
2 | The SYSRESETREQ bit in Cortex-M3 Application Interrupt and Reset Control Register
|
3 | must be set to force a software reset on the device. Refer to the STM32F10xxx Cortex-M3
|
4 | programming manual (see Related documents on page 1) for more details.
|
Danke