首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

CAN问题求教呀

CAN问题求教呀

我现在用gz32做CAN。采用查询发,中断收,可是在收中断时出了问题。在收中断函数里面如果我不加软复位(SFTRES=1),收到的数就很奇怪,与发送的相去甚远,如果加了软复位,由于软复位是CRIER清零了,所以只能收一次,收到的数是正确的。如果我在把CRIER=1,收到的数的数据域第一个和第二个数就不对。
请教高人帮我看看怎么回事呀!
把你的project打包发给我看看吧。
海纳百川  有容乃大
您能告诉我您的邮箱地址吗?
我的邮箱为zhanglh126@126.com
奇怪没有遇到过

[讨论]

软复位(SFTRES=1)是开始化用的不应在中断出现o这是一个FIFO接收器,收到的数据在数据域当然第一个和第二个数不同。有什么特别?
na
我的意思是收到的数不是我发出来的数。去掉了软复位,收到的数只有ID的第一位和第二位是对的(我用的宽展帧),后面的全错!
而且不管我发的是什么,他接收的都是那几个错误的数,都不知道那些数是从哪里跑出来的
我不知道是不是CAN总线同步出了问题,如果是同步的问题,应该怎么改呀?
等待总线同步以后(CMCR0_SYNCH==1)再开始收发数据

[分享]

相信楼上老兄一定是高人! 冇得顶! 楼上老兄一击即中其中一个常见出现不同步的问题, 如果软件思路没有错和没有其他Bug的话!这问题已解决了o小弟也曾受此苦! 顶楼的不防一试!
返回列表