打印
[DSP]

关于DSP28335CAN通讯与PC机联调远程帧的问题

[复制链接]
858|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
在使用DSP28335的CAN通讯模块与PC及通过CAN分析仪联调的时候出现了一些问题。具体如下:
第一次DSP的MBOX0和MBOX1自动发送数据帧时,数据可以正常发送出来。然后经过一些设置让DSP进入循环等待中,我用PC机发送了一个与MBOX0的ID相同的远程帧请求,然后MBOX0响应了一个数据帧回来,但是这个数据帧时空的,查看DSP变量表里面,MBOX内容并没有改变,但是发不出数据了。退出刚刚的循环等待,进入下一次原本的正常MBOX0和MBOX1的发送,MBOX1可以像之前一样正常发送,但是,MBOX0发送出来的数据依然为空的。不管我中途对MBOX里面的数据进行怎样的修改(DSP仿真器里面可以看到值的变化,修改是成功的)但是,自从第一次响应了远程帧之后,MBOX1就发不出数据了,只能把仿真停止,重新运行,才会在第一次远程帧发出之前,MBOX0有正常的输出。这个问题出在哪里了呢?CAN分析仪得到的数据结果如下(其中MBOX0的ID是15550093,MSGID设置的是B5550093,想的是AAM(29位)=1:使能自动响应,AME(30位)=0:不使用接收屏蔽,RTR设为0):

相关的代码附在下方:设置ID

设置RTR和初值

第一次发送:

等待PC机发送远程帧,并进行新的赋值及发送

如果有做过这一块的伙伴,麻烦指点一下!非常感谢!
之前用自响应调试实在找不到问题在哪里,代码详见另一个帖子https://bbs.21ic.com/icview-3017624-1-1.html。感兴趣的朋友也可以过去看一下那个帖子里面的问题。


使用特权

评论回复

相关帖子

沙发
smile2196|  楼主 | 2020-8-31 19:47 | 只看该作者
为什么发出远程帧之后,DSP的响应会是空的呢?是哪里设置错了吗?

使用特权

评论回复
板凳
smile2196|  楼主 | 2020-8-31 22:20 | 只看该作者
我找到原因了!是因为我在CAN分析仪里面发送的远程帧有问题,我的DLC设置成了0位,因此,传输过来的信号也是空。当我把远程帧的DLC设成8位以后,问题就解决了。

使用特权

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

本版积分规则

9

主题

19

帖子

0

粉丝