How to differentiate which CANBUS a message is received on using STM32F4?
I have an STM32F403ZH Nucleo board and it's connected to three separate CAN channels. I would like to be able to receive identical messages on any channel (same identifier, baud rate, etc) and have the microcontroller be able to determine which one it came from so it can handle it differently. This would allow my three identical devices to not have to be reprogrammed to send messages with different identifiers.
I've been looking through the reference manual and I don't think it's possible. The 3 different CAN controllers all send the same interrupt to the main controller. No trace of which CAN controller sent the interrupt or received the message is stored when the message is sent to the FIFO, or in the mailbox when the main controller receives the message from the FIFO. I could differentiate between two channels by having them output into different FIFOs, but not three. If anybody knows a way then I'd be happy to hear it. Thank you.
