打印
[DSP编程]

DSP28335 CAN总线拓展帧ID错误

[复制链接]
2423|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
598835484|  楼主 | 2019-1-8 20:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在调试28335的CAN模块时,配置CAN以标准帧发送时,ID和数据都能正确发送。当改成拓展帧发送时,数据能够发送正确,但是ID是不对的。用的是P-CAN上位机与DSP通讯,请问是什么原因导致这个问题的呢?由标准帧改为拓展帧时 只更改了IDE。请大家帮忙分析一下,谢谢

相关帖子

沙发
airwill| | 2019-1-9 21:47 | 只看该作者
不应该啊,  如果只是 ID 不对, CRC 校验是不会通过的.
估计是你自己弄错了吧

使用特权

评论回复
板凳
Aprilmin| | 2019-1-15 17:06 | 只看该作者
标准帧的ID有11位,对应MSGID的bit28:18,而不是bit10:0,标准帧时,MSGID的bit17:0是无效的,没有任何意义。
扩展ID有29位,对应MSGID的bit28:0,所以如果要将标准帧改为拓展帧,除了IDE要改之外,若ID内容不变,只是位数扩展,还需要把标准帧中的MSGID的ID[28:0]数据段右移18位。
仔细换算一下帧ID对应的MSGID的位数,ID错误一般都是移位换算错误导致的

使用特权

评论回复
地板
598835484|  楼主 | 2019-2-18 10:24 | 只看该作者
Aprilmin 发表于 2019-1-15 17:06
标准帧的ID有11位,对应MSGID的bit28:18,而不是bit10:0,标准帧时,MSGID的bit17:0是无效的,没有任何 ...

谢谢,调试的时候又认真看了一样手册,发现ID并不是按标准4位存放的,现已解决,谢谢您的分析

使用特权

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

本版积分规则

30

主题

118

帖子

4

粉丝