金牌会员
 
- 积分
- 1180
- 金钱
- 1180
- 注册时间
- 2018-9-11
- 在线时间
- 132 小时
|

楼主 |
发表于 2021-1-12 14:11:25
|
显示全部楼层
我在接收中断中读取了FIFO数据,一有数据就读取了,但感觉还是速度不够,还是有上溢
void CAN1_RX0_IRQHandler(void)
{
CanRxMsg RxMessage;
int i=0;
if(SET == CAN_GetITStatus(CAN1,CAN_IT_FOV0))
{
CAN_ClearITPendingBit(CAN1,CAN_IT_FOV0);
printf("CAN1 fifo shangyi\r\n");
}
else if(CAN_GetITStatus(CAN1,CAN_IT_FMP0))
{
CAN_ClearITPendingBit(CAN1,CAN_IT_FMP0);
CAN_Receive(CAN1, 0, &RxMessage);
for(i=0;i<RxMessage.DLC;i++)
{
printf("%x ",RxMessage.Data);
}
printf("\r\n");
}
} |
|