You should look at the Message Control Register of te C167 CAN-Controller. There is a flag to prevent sending a message while updating.<br>
Bit | Function |
---|---|
CPUUPD | CPU Update (This bit applies to transmit-objects only!) Indicates that the corresponding message object may not be transmitted now. The CPU sets this bit in order to inhibit the transmission of a message that is currently updated, or to control the automatic response to remote requests. |
Set this flag before you change the your data and reset it afterwards.