ZHCAF96 April 2025 MSPM0G3506 , MSPM0G3507 , MSPM0G3518 , MSPM0G3519
SysConfig 当前不支持多个滤波器的配置。可以在用户应用程序中添加更多滤波器,但请确保在初始化期间分配足够的 RAM。在应用程序代码中配置滤波器之前,请记住在 SysConfig 中配置滤波器数量。
下例所示的是如何在应用程序代码中添加更多滤波器。在 SysConfig 中,起始地址配置为 0x0,滤波器数量配置为 2。
static const DL_MCAN_StdMsgIDFilterElement gMCAN0StdFiltelem_0 = {
.sfec = 0x1,
.sft = 0x0,
.sfid1 = 3,
.sfid2 = 4,
};
static const DL_MCAN_StdMsgIDFilterElement gMCAN0StdFiltelem_1 = {
.sfec = 0x10,
.sft = 0x0,
.sfid1 = 13,
.sfid2 = 14,
};
/* Configure Standard ID filter element */
DL_MCAN_addStdMsgIDFilter(MCAN0_INST, 0U, (DL_MCAN_StdMsgIDFilterElement *) &gMCAN0StdFiltelem_0);
DL_MCAN_addStdMsgIDFilter(MCAN0_INST, 1U, (DL_MCAN_StdMsgIDFilterElement *) &gMCAN0StdFiltelem_1);
下例所示的是如何添加更多扩展滤波器。
static const DL_MCAN_ExtMsgIDFilterElement gMCAN0ExtFiltelem_0 = {
.efec = 0x1,
.eft = 0x2,
.efid1 = 0x3,
.efid2 = 0x1FFFFFFF,
};
/* Configure Extended ID filter element */
DL_MCAN_addExtMsgIDFilter(MCAN0_INST, 0U, (DL_MCAN_ExtMsgIDFilterElement *) &gMCAN0ExtFiltelem_0);