Hi everyone.
I've been working on both LPC1788 and LPC1754 (with same CAN transceiver) for CAN autbauding feature. I'm encountering your same problems.
My setup is made up of only 2 device, one transmitting (later called Master) and LPCXXXX in listen-only. Same C code (common library). They both behave the same way: in both cases I can see the RS bit set, but not the RBS and I can see the right ID and data stored in the respective registers.
What my code does (or should do) is the following:
- Start device in silent mode and first baudrate;
- Catch any bus errors via IRQ (EI and BEI flags)
- Reinit peripheral with another baudrate if bus errors occur
- Repeat these steps till no error occur
- If IRQ handler receive a correct message, toggle from silent mode to normal mode
Well, this is obtained only if I have a third device already aknowledging the messages sent by the Master device.
Did you obtain any other progress?
Please notice that with the same procedure I can successfully find the baud rate with the LPC11C24 (same configuration, only 2 devices).
Regards and thank,
Marco