我知道如何设置接收一个ID的滤波, 但是我还需要接收一个广播地址, 那我应该如何设置, 有没有看STM32那样有多个滤波器
sCM_CANMsgReceive.ui32MsgID =
sCM_CANMsgReceive.ui32MsgIDMask
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我知道如何设置接收一个ID的滤波, 但是我还需要接收一个广播地址, 那我应该如何设置, 有没有看STM32那样有多个滤波器
sCM_CANMsgReceive.ui32MsgID =
sCM_CANMsgReceive.ui32MsgIDMask
您可以尝试参考下下面的代码
void CAN1_Config2Filter(uint16_t Id1, uint16_t Id2)
{
tCANMsgObject l_RxCANMessage;
l_RxCANMessage.ui32MsgID = Id1;
l_RxCANMessage.ui32MsgIDMask = 0xFFFFFFFF;
l_RxCANMessage.ui32Flags = MSG_OBJ_RX_INT_ENABLE | MSG_OBJ_USE_ID_FILTER;
l_RxCANMessage.ui32MsgLen = 8;
ROM_CANMessageSet(CAN1_BASE, 2, &l_RxCANMessage, MSG_OBJ_TYPE_RX);
l_RxCANMessage.ui32MsgID = Id2;
l_RxCANMessage.ui32MsgIDMask = 0xFFFFFFFF;
l_RxCANMessage.ui32Flags = MSG_OBJ_RX_INT_ENABLE | MSG_OBJ_USE_ID_FILTER;
l_RxCANMessage.ui32MsgLen = 8;
ROM_CANMessageSet(CAN1_BASE, 3, &l_RxCANMessage, MSG_OBJ_TYPE_RX);
}