This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
can中断使用中无法进入中断,发现是我的配置是这样的
can_init(void)
{
GPIO_setPinConfig(DEVICE_GPIO_CFG_CANRXA);
GPIO_setPinConfig(DEVICE_GPIO_CFG_CANTXA);
CAN_initModule(CANA_BASE);
CAN_setBitRate(CANA_BASE, DEVICE_SYSCLK_FREQ, 500000, 16);
//后加的can中断
CAN_enableInterrupt(CANA_BASE, CAN_INT_IE0 | CAN_INT_ERROR |
CAN_INT_STATUS);
Interrupt_initModule();
Interrupt_initVectorTable();
EINT;
ERTM;
Interrupt_register(INT_CANA0, &canISR);
Interrupt_enable(INT_CANA0);
CAN_enableGlobalInterrupt(CANA_BASE, CAN_GLOBAL_INT_CANINT0);
//后加的can中断
CAN_setupMessageObject(CANA_BASE, 1, 0x18102701,
CAN_MSG_FRAME_EXT, CAN_MSG_OBJ_TYPE_RX, 0x1FFFFF00,
CAN_MSG_OBJ_USE_EXT_FILTER , MSG_DATA_LENGTH);
//发送给张威的
CAN_setupMessageObject(CANA_BASE, TX_MSG_OBJ_ID, 0x18300127,
CAN_MSG_FRAME_EXT, CAN_MSG_OBJ_TYPE_TX, 0,
CAN_MSG_OBJ_NO_FLAGS, MSG_DATA_LENGTH);
CAN_startModule(CANA_BASE);
}
__interrupt void
canISR(void)
{
uint32_t status;
status = CAN_getInterruptCause(CANA_BASE);
if(status == RX_MSG_OBJ_ID)
{
can_retun();
CAN_readMessage(CANA_BASE, RX_MSG_OBJ_ID, rxMsgData);
CAN_clearInterruptStatus(CANA_BASE, RX_MSG_OBJ_ID);
}
else
{
status=0;
}
CAN_clearGlobalInterruptStatus(CANA_BASE, CAN_GLOBAL_INT_CANINT0);
Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP9);
}
请问是哪里配置错了吗?报这个错误怎么解决呢?