你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

CAN接收丢包

[复制链接]
猪小屁 提问时间:2024-11-15 16:27 / 未解决

我的主机给从机发送数据的时候,6帧数据以下没问题,有个包被分了10帧数据发送,但是中断接收后再组包就只收到了四帧数据,是不是因为STM32的CAN接收中断是不是只能两个FIFO最多一次接收6帧的数据,有什么解决的办法吗,求大佬解惑😄

收藏 评论3 发布时间:2024-11-15 16:27

举报

3个回答
xmshao 回答时间:昨天 16:45
这里每个FIFIO最多同时存储3个邮箱,两个也就6个。


如果一次性过来的数据包太多太快,若CPU取走不及时
是有可能丢包。这时会有FIFO溢出标志。


现在数据的提取通过中断,保证优先级,先拿走数据再处理。
总之尽可能避免FIFO溢出。


适当地调整波特率,平衡下收发情况。
猪小屁 回答时间:昨天 17:04

xmshao 发表于 2024-11-15 16:45
这里每个FIFIO最多同时存储3个邮箱,两个也就6个。</p>
<p>

响应优先级已经是0了,波特率也是1M,需要更改吗

butterflyspring 回答时间:昨天 17:12

猪小屁 发表于 2024-11-15 17:04
响应优先级已经是0了,波特率也是1M,需要更改吗

可以按照大佬的建议,看看有没有溢出标志。

如果有,那么就按照建议去优化,指导它消失能全部接收。

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版