Skip to main content
FDane
Associate
May 9, 2019 3:02 PM UTC
Solved

CAN-bus transmitting but not receiving

I have a setup with a STM32L452 Nucleo-64, and has connected a CAN transceiver to it. This is in turn connected to a CANDO dongle to a PC. With the current setup I'm currently able to transmit data from the STM32 to the PC with no fail. The reception on the STM32 however does not work.

I have measured the traffic on the CAN RX to pinout with an oscilloscope and the data seems to be there just as expected. Yet it is not picked up by the CAN interface on the STM32.

I have tried both using a callback and polling to see whether the RX fifo ever gets any data, but that is not the case.

I have also tried watching the CAN1_RX0_IRQHandler to see if it ever gets triggered, which I understand it should when data is received, yet it does not.

I dont really know how to go forward from here, so any help would be appreciated.

This topic has been closed for replies.
FDane
FDaneBest answer
Associate
May 10, 2019 6:31 AM UTC

Hi,

Thanks turboscrew, the issue was indeed the receive filters, they were not properly aligned for 32 bit filter scale. Everything works fine now

2 replies

turboscrew
Senior III
May 9, 2019 4:36 PM UTC

Could be the receive filters? And I think the CAN1_RX0_IRQ is really a callback from the actual CAN interrupt handler.

Have you activated the receive notifications? If not, then the receive functions are not called.

FDane
FDaneAuthorBest answer
Associate
May 10, 2019 6:31 AM UTC

Hi,

Thanks turboscrew, the issue was indeed the receive filters, they were not properly aligned for 32 bit filter scale. Everything works fine now