STM32F4使用HAL的多个CAN滤波器
在STM32F446RE上使用CAN总线。CAN通信只使用一个过滤器。搜索到的资料说使用多达128个过滤器。我不需要这么多过滤器,想配置两个过滤器。这样做时,MCU不会收到消息。我如何使用HAL库配置两个CAN滤波器?你配置两个滤波器的时候,是不是两个都用了同一个FilterBank?那样后面那个会覆盖前面。 STM32F4系列要注意CAN1和CAN2共享滤波器,FilterBank编号不能重复。 HAL库里每个滤波器要单独配置FilterBank,而且FilterActivation要设成ENABLE。 尝试把两个滤波器的FilterBank设成0和1,不要都用0。 用两个滤波器时记得设置FilterFIFOAssignment,一个设FIFO0,一个设FIFO1试试看。 是不是第二个滤波器配置完没重新调用HAL_CAN_ConfigFilter?那个不能只调用一次。 你可以贴下两个滤波器的配置结构体,我帮你看是不是哪里冲突了。 F4上最多28个滤波器,不同型号略有区别,不是都支持128个。 你可以用一个滤波器设成ID范围模式,避免配置多个滤波器复杂化。 建议你先只开两个滤波器,把其余FilterBank都留空,先验证通了再扩展配置。 搜索到的资料说使用多达128个过滤器。 我不需要这么多过滤器,想配置两个过滤器。这样做时,MCU不会收到消息。 我如何使用HAL库配置两个CAN滤波器? 搜索到的资料说使用多达128个过滤器。 我不需要这么多过滤器,想配置两个过滤器。这样做时,MCU不会收到消息。 我如何使用HAL库配置两个CAN滤波器?
页:
[1]