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

280049C CAN通信配置问题

你好!请问280049C 接收多个不连续CAN_ID时如何进行滤波设置,我不想接收所有的ID数据,只想选择性接收,例如:CAN_ID =0x474, 0x10d,0x30d,0x08c,0x341,0x341,0x467,0x371,如何在以下配置好?谢谢!

CAN_setupMessageObject(CANA_BASE, 14, CAN_ID, CAN_MSG_FRAME_STD,
                           CAN_MSG_OBJ_TYPE_RX, 0, CAN_MSG_OBJ_RX_INT_ENABLE,
                           Can_DATA_LENGTH);

Green Deng:

看一下这个帖子中的回复是否有所帮助:e2echina.ti.com/…/188269

,

Fu Mo:

谢谢!我刚看了那个帖子,我是可以接收到所有的数据,但是我只想接收指定的CAN_ID,例如:CAN_ID =0x474, 0x10d,0x30d,0x08c,0x341,0x341,0x467,0x371,这些CAN_ID全部分配在14号邮箱,请问这个可以实现吗?如果可以实现,如何配置?谢谢
CAN_setupMessageObject(CANA_BASE, 14, CAN_ID, CAN_MSG_FRAME_STD,CAN_MSG_OBJ_TYPE_RX, 0, CAN_MSG_OBJ_RX_INT_ENABLE,Can_DATA_LENGTH);

,

Green Deng:

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通信的基本原理是一致的

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