有关STM32F203CB例程中CAN接收屏蔽不起作用

官方给的代码如下:

/* identifier/mask mode, One 32-bit filter, StdId: 0x317 */
CAN_FilterInitSturcture.CAN_FilterMode = CAN_FilterMode_IdMask; 
CAN_FilterInitSturcture.CAN_FilterScale = CAN_FilterScale_32bit; 
CAN_FilterInitSturcture.CAN_FilterIdHigh = 0x62E0; 
CAN_FilterInitSturcture.CAN_FilterIdLow = 0; 
CAN_FilterInitSturcture.CAN_FilterMaskIdHigh = 0xFFE0;  
CAN_FilterInitSturcture.CAN_FilterMaskIdLow = 0x0006;

经过实际测试发现这段代码能接受所有id不止0x317;image.png

有人了解或者有官方的指导手册没有希望能够解决这个问题j_0057.gif

您好,我这边测试EVT例程没问题,只有帧ID匹配(0x317)才会接收数据,否则是不会接收的。附件为我的测试例程,你可以对比参考下。注意使用我们EVT例程的时候,需要修改一下工程文件配置,宏定义及启动文件要选择D8那个,如下图。

icon_rar.gifCH32F203CB CAN.zipimage.png

image.png


只有登录才能回复,可以选择微信账号登录