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

请教Strongchen 版主9s12DG128CAN发送一直不能发送完毕问题

请教Strongchen 版主9s12DG128CAN发送一直不能发送完毕问题

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

感觉可能是匹配的问题,

个人BLOG:http://blog.eccn.com/u/107300/index.htm
我也遇到了这样的问题,期待有人解决啊
如果只是一个,可以将你的终端匹配电阻换的稍为大一点,还有最好能用示波器捕捉到CAN的数据,
个人BLOG:http://blog.eccn.com/u/107300/index.htm

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

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

楼上的说的正确啊。我也是这么认为的。因为物理层会有另外一个节点发送应答信号,没有另外一个节点,就发不成功

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编辑过]

飞思卡尔8/16/32位多功能开发板/下载器:
网站:http://www.lqist.cn,
淘宝店:http://shop36265907.taobao.com

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

返回列表