下面是我的中断接收函数,回调函数中会根据收到的信息回复一断信息,为什么收到一条信息后会不停地回复,不应该回复一次吗?
```c
void CEC_CAN_IRQHandler(void)
{
if(CAN_GetITStatus(CAN,CAN_IT_FMP0) == SET)
{
/* CAN 邮箱0消息挂号中断 */
CAN_Receive(CAN,0,&CanRxMsgBuff);
CanRxStatus = 1;
if(can_rx_callback != 0)
{
can_rx_callback(CanRxMsgBuff.StdId,CanRxMsgBuff.Data,CanRxMsgBuff.DLC);
}
//CAN_ClearITPendingBit(CAN,CAN_IT_FMP0);
}
if(CAN_GetITStatus(CAN,CAN_IT_TME) == SET)
{
CAN_ClearITPendingBit(CAN,CAN_IT_TME);
/* CAN 发送邮箱空中断 */
CanTxStatus = 0;
if(can_rx_callback != 0)
{
can_rx_callback(CanRxMsgBuff.StdId,CanRxMsgBuff.Data,CanRxMsgBuff.DLC);
}
}
if(CAN_GetITStatus(CAN,CAN_IT_FF0) == SET)
{
CAN_ClearITPendingBit(CAN,CAN_IT_FF0);
/* CAN 邮箱0消息满中断 */
}
if(CAN_GetITStatus(CAN,CAN_IT_FOV0) == SET)
{
CAN_ClearITPendingBit(CAN,CAN_IT_FOV0);
/* CAN 邮箱0消息溢出中断 */
}
}
```