大量收发数据时,会产生收发数据0-3分钟后不再收发数据的现象,此时是由于库函数内部将CAN总线状态改为忙碌。
可在While(1)中填写如下代码
- if( HAL_BUSY == HAL_CAN_Receive_IT(hcanx, CAN_FIFO0))//开启中断接收
- {
- /* Enable FIFO 0 overrun and message pending Interrupt */
- __HAL_CAN_ENABLE_IT(&hcan1, CAN_IT_FOV0 | CAN_IT_FMP0);
- }
具体见https://blog.youkuaiyun.com/ytdsf/article/details/80142899