TI中文支持网
TI专业的中文技术问题搜集分享网站

280049c can通信问题?

CAN我现在用tms280049c调试CAN通信,想实现一个邮箱接收两个地址,目前可以通过CAN_readMessage(base,objid,*msgdata)读取接收到的数据,但接收数据帧ID却无法获取,请问我怎样得到一个邮箱接收的不同ID标识符的值?

Susan Yang:

CAN通信中的每个消息都是有一个ID的,在总线上是广播出去的,接收邮箱都可以收,至于是否要进行处理,就要用到接收屏蔽过滤码了。 您可以配置屏蔽过滤只检查ID的高25位符合,ID的低3位不管,那么低3位从0~7的消息就都可以发到这个邮箱了。接收到数据后再根据ID低3位判断是那个主机发送的。 具体您可以看一下www.ti.com.cn/…/zhcu039.pdf 的 20 接受滤波器 以及 接受屏蔽使能位,AME (MSGID.30) AME 接受屏蔽使能位。 AME 只用于接收邮箱。它不能被设置为自动回复 (AAM[n]=1,CANMD[n]=0) 邮箱,否则邮箱运行状态未定义。 该位不能通过消息接收被修改。 1 使用相应的接受屏蔽。 0 没有使用接受屏蔽,所有标识符位必须与接收消息相匹配。

CAN通信的基本原理是一致的

CAN我现在用tms280049c调试CAN通信,想实现一个邮箱接收两个地址,目前可以通过CAN_readMessage(base,objid,*msgdata)读取接收到的数据,但接收数据帧ID却无法获取,请问我怎样得到一个邮箱接收的不同ID标识符的值?

naughty boy:

回复 Susan Yang:

很感谢您能做出回答。还有以下几个疑问
1、我现在使用的是280049C我查看芯片手册发现寄存器内没有AAM[n]=1,CANMD[n]=0这两个位
2、我现在已经配置邮箱的接收滤波,最低位不过滤,现在两条地址数据也能收到,我需要在收到数据之前判断接收ID做不同的操作。请问可以通过哪个寄存器获取接收数据的ID

赞(0)
未经允许不得转载:TI中文支持网 » 280049c can通信问题?
分享到: 更多 (0)