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

有关tms320f28609 can过滤器设置问题

假设标准帧模式下,只接收ID为0x12的消息,应该如何设置?

我的设置如下,但是都被屏蔽了,

void CAN_Rx_Config(void)//接收配置函数,程序中相关备注
{
struct ECAN_REGS ECanaShadow;

//1.关闭邮箱
ECanaShadow.CANME.all = ECanaRegs->CANME.all;
ECanaShadow.CANME.bit.ME1 = 0;//不使能邮箱1
// ECanaShadow.CANME.bit.ME31 = 0;//不使能邮箱31
ECanaRegs->CANME.all = ECanaShadow.CANME.all;

//邮箱1相关配置
ECanaMboxes->MBOX1.MSGCTRL.bit.DLC = 8;//配置数据长度,应该是没意义的;
ECanaMboxes->MBOX1.MSGID.all |= (uint32_t)(0x12) << 18;//设置接收消息的有效ID
ECanaMboxes->MBOX1.MSGID.bit.AME = 1;//屏蔽使能位,如果需要使用屏蔽,必须将该位置1
ECanaMboxes->MBOX1.MSGID.bit.IDE = CAN_ID_STD;
// ECanaLAMRegs->LAM1.all = (uint32_t)0xFFFFFFFF;
/// ECanaLAMRegs->LAM1.all = 0x1FF3FFFF;//
ECanaLAMRegs->LAM1.all = (uint32_t)0x00000000;//
// ECanaLAMRegs->LAM1.bit.LAM_L = 0xFFFF;

ECanaLAMRegs->LAM1.bit.LAMI = 1;

//邮箱方向
ECanaShadow.CANMD.all = ECanaRegs->CANMD.all;
ECanaShadow.CANMD.bit.MD1 = 1;
ECanaRegs->CANMD.all = ECanaShadow.CANMD.all;

//使能邮箱
ECanaShadow.CANME.all = ECanaRegs->CANME.all;
ECanaShadow.CANME.bit.ME1 = 1;//使能邮箱1
ECanaRegs->CANME.all = ECanaShadow.CANME.all;
}

新手,求指教,谢谢了

xyz549040622:

没有搞过这个,支持下。

赞(0)
未经允许不得转载:TI中文支持网 » 有关tms320f28609 can过滤器设置问题
分享到: 更多 (0)