cancel
Showing results for 
Search instead for 
Did you mean: 

stm32u5 CAN, How to cancel resend failed messages

lll
Associate III

hello:

@mƎALLEm 

I'm currently working with the STM32U585 and ran into a problem abort CAN auto Retransmission.

Context:

  1. There are three devices on the CAN bus: stm32u5, A and B
  2. stm32u5 enable auto Retransmission
  3. stm32u5 need to keep sending them messages, regardless of whether they are connected or not
  4. device A and device B have hardware message filtering, So if A or B receives a message that is not intended for it, no ack will be sent(Is this correct?)

 

I want to know:

  1. If A is online and B is offline, how many times will the message sent to B be resent
  2. If it will be resent many times or never stops, how do I delete the failed resend messages after tx fifo is full
1 ACCEPTED SOLUTION

Accepted Solutions
mƎALLEm
ST Employee

Hello,

The ACK is sent whatever it's recipient or not. The ACK has no relation with the ID but to the validity of a CAN frame.

So if A and B are recipients at least one of them will acknowledge the frame. So if A is offline, B will always acknowledge. Same thing, if B is offline A will acknowledge no matter the ID used.

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.

View solution in original post

1 REPLY 1
mƎALLEm
ST Employee

Hello,

The ACK is sent whatever it's recipient or not. The ACK has no relation with the ID but to the validity of a CAN frame.

So if A and B are recipients at least one of them will acknowledge the frame. So if A is offline, B will always acknowledge. Same thing, if B is offline A will acknowledge no matter the ID used.

To give better visibility on the answered topics, please click on "Accept as Solution" on the reply which solved your issue or answered your question.