cancel
Showing results for 
Search instead for 
Did you mean: 

Acknowledgement Error in CAN Communication

SUrte.1
Associate II

Hello there,

I am newbie in CAN communication. Although there is no problem in loopback mode, I get acknowledgment error in normal mode. For this reason, the tx message I sent continues to be sent because it was not ACKed, and after a while, all mailboxes fill up and the HAL_ADDTX function returns HAL_CAN_ERROR_PARAM. When I check the LEC register, I get Acknowledgment Error. I shared the diagram I used and my codes. You can review the main.c msp.c and it.c files on the Github link. The reason I don't use 120 ohms between CANH and CANL is because it's in my cjmcu230(with SN65HVD230) transciever module. I am using the same code on two STM32F429 boards. Thank you in advance for your help.

Github Link:

https://github.com/niekiran/MasteringMCU2/tree/master/Source_codes/OpenStm32SWB/MasteringMCU2/CAN_Normal_Mode_2Nodes

My Diagram:

0693W00000QOORrQAP.png 

CANTx logic signals in my logic analyzer(you can see it keep repeats the same msg):

0693W00000QOOU2QAP.png 

12 REPLIES 12

Yes, in case your wiring is correct, this is definitely a sign for a transceiver problem.

Do you have an oscilloscope available so that you can measure the CAN_L and CAN_H signals?

Yes i have.

So, is there any activity on the CAN_L CAN_H signals? If not, then your transceivers are definitely not working as intended.