打印

通信接收问题

[复制链接]
342|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
xxrs|  楼主 | 2022-3-1 20:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用mcp2515做的can接口,在接收总线数据时,当接收多组数据且帧间隔小于1毫秒时(250k波特率),可收到多次中断,但好像mcp2515接收缓存器不刷新,从其缓存器中读出的数据总是首先接收到的第一帧数据,如果接收的多组数据帧间隔改为大于1毫秒,又接收正常

使用特权

评论回复
沙发
chuxh| | 2022-3-1 21:01 | 只看该作者
还有什么现象?能再详细描述下吗?

使用特权

评论回复
板凳
xxrs|  楼主 | 2022-3-1 21:03 | 只看该作者
数据每组不同,感觉是接收缓存器更新不及时

使用特权

评论回复
地板
zhanghqi| | 2022-3-1 21:05 | 只看该作者
不知是不是这个芯片的设计问题

使用特权

评论回复
5
xxrs|  楼主 | 2022-3-1 21:06 | 只看该作者
mcp2515是否能手动更新缓存或清缓存器呢

使用特权

评论回复
6
renyaq| | 2022-3-1 21:09 | 只看该作者
不用清中断来自动更新缓存的方法

使用特权

评论回复
7
xxrs|  楼主 | 2022-3-1 21:11 | 只看该作者
不知道的啊! 可以的啊!!!!!

使用特权

评论回复
8
xxrs|  楼主 | 2022-3-1 21:12 | 只看该作者
可以是指什么,能手动刷新缓存器吗,怎么刷,设置哪一个寄存器,望赐教!

使用特权

评论回复
9
jlyuan| | 2022-3-1 21:14 | 只看该作者
建议参考下第三方MCP2515驱动例程

使用特权

评论回复
10
xxrs|  楼主 | 2022-3-1 21:16 | 只看该作者
不存在这种问题,这取决于你有没有及时去读取接收buffer内的内容

使用特权

评论回复
11
dingy| | 2022-3-1 21:18 | 只看该作者
如果没有及时读取,会产生溢出,导致无法接收新数据

使用特权

评论回复
12
heweibig| | 2022-3-1 21:20 | 只看该作者
你可以使用rollover

使用特权

评论回复
13
zhenykun| | 2022-3-1 21:22 | 只看该作者
嗯,这样相当可以得到多一级缓存

使用特权

评论回复
14
xxrs|  楼主 | 2022-3-1 21:23 | 只看该作者
就是用的第三发例程移植的,你那是否有可供参考的驱动例程

使用特权

评论回复
15
dengdc| | 2022-3-1 21:24 | 只看该作者
电源基准还是内部基准?

使用特权

评论回复
16
xxrs|  楼主 | 2022-3-1 21:26 | 只看该作者
已使用滚存,但当用zlgcan做测试时连续发3帧不一样的数据,发送间隔设为0,产生三次中断,有时能从rx0与rx1缓存器中都收到数,数据都正确,有时只能从rx0中收到数,三帧数都一样,都是发出的第一帧数的值,搞不清程序时序逻辑哪里有问题,望赐教!

使用特权

评论回复
17
jiajs| | 2022-3-1 21:33 | 只看该作者
可能是溢出了,导致数据写不进去了

使用特权

评论回复
18
xxrs|  楼主 | 2022-3-1 21:35 | 只看该作者
好的,我明天去单位试一下,多谢各位大侠了哈        

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

405

主题

7415

帖子

1

粉丝