工具与软件:
您好!
我正在使用 can_isr (使用 TivaWare)、它看起来像这样:
void _canISR(uint32_t CAN_BASE)
{
uint32_t status = 0x00;
uint32_t ui32Status = 0x00;
ui32Status = CANIntStatus(CAN_BASE, CAN_INT_STS_CAUSE);
//status interrupt or highest priority message interrupt with pending interrupt
if ((ui32Status == CAN_INT_INTID_STATUS) || ((ui32Status <= 32) && (ui32Status > 0)))
{
status = CANStatusGet(CAN_BASE, CAN_STS_CONTROL);
if (status & CAN_STATUS_RXOK)
{
...
}
}
我现在遇到状态为0但 ui32Status 不为0的问题、我不明白这是如何发生的。 是否每个消息中断也会导致状态中断?