全部代码展示如下:
//CAN_FilterTypeDef
static void CAN_Filter_Config(void)
{
CAN_FilterTypeDef CAN_FilterInitStructure;
CAN_FilterInitStructure.FilterBank = 0;
CAN_FilterInitStructure.FilterMode = CAN_FILTERMODE_IDMASK;
CAN_FilterInitStructure.FilterScale = CAN_FILTERSCALE_32BIT;
CAN_FilterInitStructure.FilterIdHigh = ((((uint32_t)0X1314<<3)|
CAN_ID_EXT|CAN_RTR_DATA)&0xFFFF0000)>>16; //ID的高位
CAN_FilterInitStructure.FilterIdLow = (((uint32_t)0X1314<<3)|
CAN_ID_EXT|CAN_RTR_DATA)&0xFFFF0000; //ID的低位
CAN_FilterInitStructure.FilterMaskIdHigh = 0xffff;
CAN_FilterInitStructure.FilterMaskIdLow = 0xffff;
CAN_FilterInitStructure.FilterFIFOAssignment = CAN_FILTER_FIFO0;
CAN_FilterInitStructure.FilterActivation = ENABLE;//使能
HAL_CAN_ConfigFilter(&hcan1,&CAN_FilterInitStructure);
}
下面进行逐句解答:
CAN_Fi