[STM32G0] STM32G0B1 上的 CAN 总线 ID 过滤器无法正常工作

[复制链接]
 楼主| Hitomi22 发表于 2025-7-28 22:50 | 显示全部楼层 |阅读模式
当使用 HAL_FDCAN_ConfigGlobalFilter(&hfdcan1, FDCAN_REJECT, FDCAN_REJECT, FDCAN_FILTER_REMOTE, FDCAN_FILTER_REMOTE) 时STM32G0B1 上的 CAN 总线 ID 过滤器无法正常工作。经典 CAN 配置如下。当移除 if(HAL_FDCAN_ConfigGlobalFilter(...)) 这一行时,CAN 消息可以正常接收。发送的消息 ID 设置为 0x111,并通过 CAN 总线监控工具确认。
配置如下:
FDCAN_FilterTypeDef sFilterConfig;
sFilterConfig.IdType = FDCAN_STANDARD_ID;
sFilterConfig.FilterIndex = 0;
sFilterConfig.FilterType = FDCAN_FILTER_MASK;
sFilterConfig.FilterConfig = FDCAN_FILTER_TO_RXFIFO0;
sFilterConfig.FilterID1 = 0x111;
sFilterConfig.FilterID2 = 0x7FF;
  if(HAL_FDCAN_ConfigFilter(&hfdcan1, &sFilterConfig)!= HAL_OK)
{
Error_Handler();
}
// If comment this one, it works.
if(HAL_FDCAN_ConfigGlobalFilter(&hfdcan1, FDCAN_REJECT, FDCAN_REJECT, FDCAN_FILTER_REMOTE, FDCAN_FILTER_REMOTE) != HAL_OK)
{
Error_Handler();
}
if(HAL_FDCAN_Start(&hfdcan1) != HAL_OK)
{
Error_Handler();
}

LOVEEVER 发表于 2025-7-29 22:29 | 显示全部楼层
是不是过程程序有问题
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

44

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部

42

主题

44

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部