[ZLG-ARM] 怎么用 RTL中CAN 驱动 让一个节点监听多个目标地址,即相当

[复制链接]
2791|2
 楼主| pubstar 发表于 2007-7-9 19:37 | 显示全部楼层 |阅读模式
一个接点具有多个地址<br />通过&nbsp;CAN_rx_object&nbsp;(U32&nbsp;ctrl,&nbsp;U32&nbsp;ch,&nbsp;U32&nbsp;id,&nbsp;CAN_FORMAT&nbsp;format);设置接收ID后,只能接收此ID的数据,其它数据被过虑掉,但如果不调用此函数,一个也接收不到。请高手指点。
 楼主| pubstar 发表于 2007-7-9 19:52 | 显示全部楼层

实际应用中的苦恼

协议:<br />1.&nbsp;&nbsp;&nbsp;&nbsp;CAN技术规范协议:CAN2.0B<br />2.&nbsp;&nbsp;&nbsp;&nbsp;CAN贞格式:扩展贞<br />3.&nbsp;&nbsp;&nbsp;&nbsp;CAN2.0B&nbsp;29位标识符的定义:bit28~bit21为目的地址;bit20~bit13为源地址。源地址和目的地址表示CAN帧从哪里来,到哪里去。bit12~bit5为帧序数;bit4位称为更多CAN帧位,它是和帧序数配合使用来传送较长的数据的(CAN每一帧最多传7个字节有效数据)。bit4为零表示当前的CAN帧是一个被分组打包的应用层报文的最后一段;为1则表示应用层报文的分段未传完;当标志位为0,帧序数也为0时,表示报文没有被分段。数据字节的有效长度有长度字段决定,数据字节的最后一个字节为其它数据字节的异或校验。<br /><br />如上,相当于一个节点具有多个地址源地址,否则,带有附加信息的数据目标地址根本无法与之匹配,所以,一个节点必须具有监听总线上多个目标地址的功能,目前在RTL中,还没有发现有效的解决办法,请高手请点。
 楼主| pubstar 发表于 2007-7-9 23:13 | 显示全部楼层

问题已经解决,手工修改RTL CAN驱动代码,关掉过滤器即可

  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

15

主题

81

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部