本帖最后由 airwill 于 2014-4-14 15:12 编辑
MCU: STM32F207VCT6@ 120MHz, 使用 CAN1 FIFO0 接收, 接收到一个数据包后发现出现两次 CAN1_RX0_IRQHandler 中断.
中断退出前执行 CAN_FIFORelease() 清除 FIFO, 或者直接写 RFOM0 都是两次.
跟踪: 第一次中断退出的时候, 查寄存器 RF0R 的 FMP0 已经清为零(Release 操作应该是正常的).
最后没有办法的解决办法:
在进入中断后先判断 FMP0 状态再决定读取 CAN 数据.
|