Hi Petr,
Thanks for the feedback. I checked the registers during runtime, and here’s what I’m seeing:
ESR1: Bus is idle, synchronization bit is set (module is synchronized).
MCR:
LPMACK = 0 - Not in low-power mode
FRZACK = 0 - Not in freeze mode
NOTRDY = 0 -FlexCAN is in normal/listen-only mode
HALT = 0 - No freeze request
MDIS = 0- Module is enabled
IFLAG1: After transmitting, BUF01 becomes 1
BUF4TO1: Bit 1 is set, confirming TX buffer interrupt flag
So it looks like the controller is initialized correctly and transmission is happening from the MCU side.
I also verified that the CAN bit timing matches 500 kbps. I’ll try increasing RJW to the maximum value (4) as you suggested.
the MCU-side transmission call can_43_FlexCAN_write returns E_OK and I can see the TX buffer flag set in debugging, but no frames appear in the USB-CAN FD adapter tool.
I’ll check on the analyzer next to confirm whether any signal is actually going out on the CAN_TX pin.
Also I'm using TJA1042 transciever so I made STB pin low for making it normal mode.
Do i need to do anything extra for transmitting?
if anything i left , let me know.
I have attached my project below.
Thank you.