梧桐uuu 发表于 2025-6-21 09:53

STM32F4使用HAL的多个CAN滤波器

在STM32F446RE上使用CAN总线。CAN通信只使用一个过滤器。搜索到的资料说使用多达128个过滤器。我不需要这么多过滤器,想配置两个过滤器。这样做时,MCU不会收到消息。我如何使用HAL库配置两个CAN滤波器?

公羊子丹 发表于 2025-6-24 07:23

你配置两个滤波器的时候,是不是两个都用了同一个FilterBank?那样后面那个会覆盖前面。

周半梅 发表于 2025-6-24 07:24

STM32F4系列要注意CAN1和CAN2共享滤波器,FilterBank编号不能重复。

帛灿灿 发表于 2025-6-24 07:25

HAL库里每个滤波器要单独配置FilterBank,而且FilterActivation要设成ENABLE。

童雨竹 发表于 2025-6-24 07:25

尝试把两个滤波器的FilterBank设成0和1,不要都用0。

万图 发表于 2025-6-24 07:26

用两个滤波器时记得设置FilterFIFOAssignment,一个设FIFO0,一个设FIFO1试试看。

Wordsworth 发表于 2025-6-24 07:27

是不是第二个滤波器配置完没重新调用HAL_CAN_ConfigFilter?那个不能只调用一次。

Bblythe 发表于 2025-6-24 07:28

你可以贴下两个滤波器的配置结构体,我帮你看是不是哪里冲突了。

Pulitzer 发表于 2025-6-24 07:29

F4上最多28个滤波器,不同型号略有区别,不是都支持128个。

Uriah 发表于 2025-6-24 07:30

你可以用一个滤波器设成ID范围模式,避免配置多个滤波器复杂化。

Clyde011 发表于 2025-6-24 07:30

建议你先只开两个滤波器,把其余FilterBank都留空,先验证通了再扩展配置。

为你转身 发表于 2025-6-25 06:24

搜索到的资料说使用多达128个过滤器。 我不需要这么多过滤器,想配置两个过滤器。这样做时,MCU不会收到消息。 我如何使用HAL库配置两个CAN滤波器?

好几遍vh 发表于 2025-6-25 06:36

搜索到的资料说使用多达128个过滤器。 我不需要这么多过滤器,想配置两个过滤器。这样做时,MCU不会收到消息。 我如何使用HAL库配置两个CAN滤波器?
页: [1]
查看完整版本: STM32F4使用HAL的多个CAN滤波器