yinci325 发表于 2013-8-9 16:57:43

28335中CAN模块请教

CAN中一帧的数据大小最大为8字节,对于大块数据(多余8字节的),怎样发送,又是怎样接收识别出为一个数据块呢

zyzoe2003 发表于 2013-8-12 11:21:09

(1)利用多个邮箱进行发送,邮箱ID可以标示不同数据块。
(2)利用一个邮箱多次发送,其中一两个字节自己做标示。

german010 发表于 2013-8-12 20:06:51

这个可以 参考一下CANopen协议,网上应该有DS301等,应该对自己写 协议代码有帮助,
CANopen协议里对此类使用有详细说明{:smile:}

yinci325 发表于 2013-8-13 11:29:43

本帖最后由 yinci325 于 2013-8-13 11:34 编辑

zyzoe2003 发表于 2013-8-12 11:21 static/image/common/back.gif
(1)利用多个邮箱进行发送,邮箱ID可以标示不同数据块。
(2)利用一个邮箱多次发送,其中一两个字节自己 ...

谢谢,还有个问题请教,28335中CAN模块怎样检测总线的忙闲状态?比如有两路总线,传送数据时,哪路空闲利用哪路.

yinci325 发表于 2013-8-13 11:34:53

german010 发表于 2013-8-12 20:06 static/image/common/back.gif
这个可以 参考一下CANopen协议,网上应该有DS301等,应该对自己写 协议代码有帮助,
CANopen协议里对此类使 ...

谢谢,还有个问题请教,28335中CAN模块怎样检测总线的忙闲状态?比如有两路总线,传送数据时,哪路空闲利用哪路.

german010 发表于 2013-8-13 13:17:02

can硬件自动判断 优先级,如果有更高的优先级的节点要发送数据,低优先级的节点自动停止发送,直到总线空闲,
至于能否把总线是否有更高优先级的节点在传送数据,你看下 can硬件 是不是有个寄存器位可以判断总线是否空闲吧?我没注意过这方面的问题,很久没弄can总线了

steaven2000 发表于 2013-8-13 15:37:11

楼主连基本的思维逻辑都不健全的,不建议以软件工程师作为职业。

页: [1]
查看完整版本: 28335中CAN模块请教