-
Notifications
You must be signed in to change notification settings - Fork 157
Description
I am using the library to communicate with two motor drivers using TPDOs and SDOs that are sent using CIA309 ASCII codes.
I ported the code to STM32L476RG and I am using a FIFO in the 309 library with length 1000. In general, the communication works fine.
Recently, I was having some physical interface communication issues with the drivers, probably caused by a incorrectly wired CAN Gnd connection. I got some CAN Bus Communication errors in the motor drivers. But I am not sure if this is the reason for the following problem:
Repeatedly (possibly when the motor driver is still in error state- I am not able to test it right now), I am getting a hard fault when executing line 443 in CO_driver_STM32.c
err = ((CAN_HandleTypeDef*)((CANopenNodeSTM32*)CANmodule->CANptr)->CANHandle)->Instance->ESR
& (CAN_ESR_BOFF | CAN_ESR_EPVF | CAN_ESR_EWGF);
Is it possible that some pointer calculations are wrong there? When debugging, the debugger could not access this memory area.
Could it be related to errors on the CAN Bus or missing replies to SDOs? Are there any hard-coded memory addresses that need to be adapted to the STM32 model used?