2019-10-29 08:34 AM
Hi,
I have a strange behavior on the bxCAN macrocells of a STM32F437 MCU and I'm here to ask
if someone has encountered the same situation.
In my application I start programming one CAN module (say CAN1) to get some data sent
from the other connected CAN module (CAN2), in a sort of (real) loopback mode.
I program both the CAN modules with the same parameters before to begin the test and
every time I send data from a CAN module and after having received it on the other module,
I deconfigure both them. Also I take care of the fact that CAN2 is a slave instance of CAN1 module, especially when I start sending data from CAN2 and receiving from CAN1 (if that is
is case I start initializing CAN1module and then the CAN2).
The things are fine for the first - let me say - 7 or 8 trials. Then, on successive tests, the first
programmed CAN module fails its initialization because of a timeout on the SLAK bit in
CAN_MCR register (at the moment the timeout it's hard-coded inside the HAL Cube (v.1.11.2)
at the value of 10 milliseconds). I tried to rise it to 20 milliseconds, but the result of test did
not change.
Someone has alredy faced this kind of problem. How can I solve it?
Thanks in advance to everyone can help me.