Content originally posted in LPCWare by arw on Thu Aug 06 10:22:10 MST 2015
nickich,
CAN is a broadcast bus, where a sender transmits its message, but doesn't necessarily know (or care) that any other node on the bus actually did something with the data.
The CAN protocol requires all active nodes to ACK each and every message on the bus, even if they do not accept and process the message. Every node provides ACK at the exact same time slot - this is a hardwired function of the CAN controller. As long as the sender of the message receives ACK, it will continue transmitting the message. In case the sender does not receive ACK, an error interrupt will be generated from the CAN controller.
Sections 16.6.12 and 16.6.1.3 cover this in the LPC1100/11C00 user manual.
-arw