STM32F1XX系列 HAL库 CAN大量收发数据

本文介绍了解决CAN总线在大量收发数据过程中出现的数据收发中断现象。通过修改库函数中的代码,确保CAN总线不会因为忙碌状态而停止数据收发。具体实现方法包括启用中断接收并允许FIFO 0溢出和消息等待中断。

大量收发数据时,会产生收发数据0-3分钟后不再收发数据的现象,此时是由于库函数内部将CAN总线状态改为忙碌。

可在While(1)中填写如下代码


  1. if( HAL_BUSY == HAL_CAN_Receive_IT(hcanx, CAN_FIFO0))//开启中断接收  
  2. {  
  3.     /* Enable FIFO 0 overrun and message pending Interrupt */  
  4.     __HAL_CAN_ENABLE_IT(&hcan1, CAN_IT_FOV0 | CAN_IT_FMP0);  
  5. }  


具体见https://blog.youkuaiyun.com/ytdsf/article/details/80142899

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值