The LPC11C24 has a on-chip CAN transceiver and a section of ROM with CAN driver software. I am trying to run the can_onchip
sample project on the LPCXpresso board. The CAN-High and CAN-Low lines are connected to an MCP2551 (because you need at least two nodes to test a CAN bus). I don't see any change on the CAN-High and CAN-Low lines and the CAN error callback function is called with error code 0x82
, which is a BIT_0
error, meaning the bus is always in the HIGH state and it could not be pulled LOW/dominant. This makes me think there is a problem with the on-chip transceiver because any CAN node should be able to pull the bus LOW for a dominant bit.
The linker files used are the CAN version provided that reserve the ROM memory mapping for the CAN driver. The init and callback functions are being called, so I am relatively certain the drivers are working correctly.
Are there any other settings that need to be used to enable the on-chip transceiver?