STM32Cube的CAN滤波如何设置

2019-03-23 17:57发布

STM32Cube的CAN滤波如何设置,需要只让两个需要的ID进去中断,其他的全部过滤。请问如何设置?
/*##-2- Configure the CAN1 Filter ###########################################*/
        sFilterConfig.FilterNumber = 0;
        sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;
        sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
        sFilterConfig.FilterIdHigh = AllowID_F507<<5;
        sFilterConfig.FilterIdLow = 0|CAN_ID_STD;;
        sFilterConfig.FilterMaskIdHigh = 0xFFFF;
        sFilterConfig.FilterMaskIdLow = 0xFFFF;
        sFilterConfig.FilterFIFOAssignment = CAN_FIFO0;
        sFilterConfig.FilterActivation = ENABLE;
        sFilterConfig.BankNumber = 0;
        HAL_CAN_ConfigFilter(&hcan, &sFilterConfig);

        /*##-2- Configure the CAN1 Filter ###########################################*/
        sFilterConfig.FilterNumber = 1;
        sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;
        sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
        sFilterConfig.FilterIdHigh = AllowID2_F507<<5;
        sFilterConfig.FilterIdLow = 0|CAN_ID_STD;;
        sFilterConfig.FilterMaskIdHigh = 0xFFFF;
        sFilterConfig.FilterMaskIdLow = 0xFFFF;
        sFilterConfig.FilterFIFOAssignment = CAN_FIFO0;
        sFilterConfig.FilterActivation = ENABLE;
        sFilterConfig.BankNumber = 0;
        HAL_CAN_ConfigFilter(&hcan, &sFilterConfig);

        HAL_CAN_Receive_IT(&hcan,CAN_FIFO0);

芯片是用STM32F103VET的。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
newphj
1楼-- · 2019-03-25 01:03
 精彩回答 2  元偷偷看……
huaiqiao
2楼-- · 2019-03-25 02:20
newphj 发表于 2016-9-22 18:43
貌似没收到

1111.png

不怪我哦,你自己看。。。。。。。。。
newphj
3楼-- · 2019-03-25 03:21
huaiqiao 发表于 2016-9-22 21:28
不怪我哦,你自己看。。。。。。。。。

收到,谢谢
wanghlady
4楼-- · 2019-03-25 06:53
 精彩回答 2  元偷偷看……

一周热门 更多>