Board logo

标题: 请教Strongchen 版主9s12DG128CAN发送一直不能发送完毕问题 [打印本页]

作者: renxiaoyao    时间: 2008-5-22 09:13     标题: 请教Strongchen 版主9s12DG128CAN发送一直不能发送完毕问题

版主你好,有一个问题始终没有解决,连康桥人大哥也找不到原因,真是不敢相信。具体情况如下:
我调试CAN,当两个或者三个单片机都接在CAN总线上时,通信良好,没有问题,可是当我仅有一个单片机时,同样的程序,就不行了,总是停留在while ((CAN0TFLG & txbuffer) != txbuffer);跳不出这个循环,不知道,为什么,但是用示波器发现,canh和canl也重复的发送一样的数据,示波器检测can0tx和can0rx也全部都有信号,好像发送缓存器不会为空。很怪啊,请求帮助,谢谢! 可是我同学的PIC单片机就可以自己外部接82C250自己一个单片机发送,还可以根据程序循环发送很多数据。
CrWwPz9Q.rar (217.06 KB)


附件: [请教Strongchen 版主9s12DG128CAN发送一直不能发送完毕问题] CrWwPz9Q.rar (2008-5-22 08:58, 217.06 KB) / 下载次数 249
http://bbs.eccn.com/attachment.php?aid=4317&k=972138b6bb49ebca86b52d6ffd822ab9&t=1719413723&sid=V48DkK
作者: 康桥人    时间: 2008-5-22 09:50

感觉可能是匹配的问题,


作者: fireworks    时间: 2008-5-22 17:14

我也遇到了这样的问题,期待有人解决啊
作者: 康桥人    时间: 2008-5-22 21:32

如果只是一个,可以将你的终端匹配电阻换的稍为大一点,还有最好能用示波器捕捉到CAN的数据,
作者: cndestiny    时间: 2008-6-1 20:38

我知道是什么问题,CAN总线至少需要两个结点才能正常发送接收,因为CAN总线在帧结束时需要有个别人的ACK(应答位),如果没有应答位就表示没有发送成功,

不过在单结点时,可以设置为自发自收模式,以验证收发是否正常


作者: ganhuaren    时间: 2008-11-18 17:19

楼上的说的正确啊。我也是这么认为的。因为物理层会有另外一个节点发送应答信号,没有另外一个节点,就发不成功
作者: chiusir    时间: 2008-12-7 00:21

SO EZ!U must plug the CAN bus if U want to send your data successfully.Otherwise,it is necessary to give a time overfllowing routine.Cheer!

Dg128's can problem is just a piece of cake to me.If the problem was not solved,you can contact me:qq381127903.Good luck!

[此贴子已经被作者于2008-12-7 0:23:55编辑过]


作者: caigogo    时间: 2008-12-9 22:10

有接收节点时和没接收节点时示波器上的信号不同吧。后者是不停的发不停地发,虽然里面的内容是一样的。可以换成自发自收试试。






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0