This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

XC167CI, Step AC. Problems with content of CAN_AIR-Register

Hello,

I have an application which is using the can-node A on the XC167-Controller. Normally I check with a while-loop in the interrupt-service-routine the INTID-value(register CAN_AIR, 0x200208), to see which CAN-message-objects have caused an interrupt. Depending on the INTID I jump with a switch-case instruction in the accordant code section. The first thing there is to reset the INTPND-bit in the accordant message-object,which works.Resetting INTPND should clear the INTID value in CAN_AIR. If there is no interrupt of another message object pending the value of CAN_AIR should be zero (so I know it from a C167-Controller) but on a XC167CI, Step AC it is not like this!!! The CAN_AIR-register always keeps the INTID-value of the last message object, which has caused an interrupt. This behaviour is the same with receive and transmit message-objects. An INTID-value which becomes never zero leeds to an endless while-loop. So what else do I have to clear/reset, to get the INTID-value to zero, when there is no further message-object-interrupt pending!
Thank you very much.

Tobias Huber

0