使用280039C将CAN配置为DCAN进行轮询接收后(不用中断),500ms任务扫描CAN数据,使用的任务函数如下:
void 500msTask(void)
{
rxFIFO1st.num = MCAN_RX_FIFO_NUM_1;
MCAN_getRxFIFOStatus(MCAN_MSG_RAM_BASE, &rxFIFO1st);
if(rxFIFO1st.fillLvl != 0)
{
MCAN_readMsgRam(MCAN_MSG_RAM_BASE, MCAN_MEM_TYPE_FIFO, 0, MCAN_RX_FIFO_NUM_1, &rxMsg1);
}
}
断点测试后,发现rxFIFO1st.fillLvl一直非0;
问题一:请问如何清零,我自己还在调试使用MCAN_writeRxFIFOAck函数进行清理
问题二:MCAN_RXF1C寄存器内每个段的含义是什么,通过MCAN_readMsgRam函数读取后会相应的段数据会出现什么变化,麻烦帮我解释一下
后续调试进度会在评论区更新,谢谢