【问题标题】:How to configure STM32 CAN filters in ID List mode?ID列表模式下如何配置STM32 CAN滤波器?
【发布时间】:2017-07-12 08:34:36
【问题描述】:

我需要在 STM32F103 的 ID List 模式下配置过滤器。我可以在掩码模式下配置它。 Mask Mode有一个示例配置代码:

sFilterConfig.BankNumber = 0;
sFilterConfig.FilterNumber = 0;
sFilterConfig.FilterMode = CAN_FILTERMODE_IDMASK;
sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
sFilterConfig.FilterIdHigh = 0x10<<5;
sFilterConfig.FilterIdLow = 0;
sFilterConfig.FilterMaskIdHigh = 0xff<<5; 
sFilterConfig.FilterMaskIdLow = 0;
sFilterConfig.FilterFIFOAssignment = 0;
sFilterConfig.FilterActivation = ENABLE;
HAL_CAN_ConfigFilter(&hcan, &sFilterConfig);

它工作正常,我可以接收 ID 为 0x10 的消息。但我还需要在 ID 列表模式下配置任何过滤器。有我尝试使用的代码,但它不起作用:

sFilterConfig.FilterMode = CAN_FILTERMODE_IDLIST;
sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
sFilterConfig.BankNumber = 1;
sFilterConfig.FilterNumber = 0;
sFilterConfig.FilterIdHigh  = 0x10<<5;
sFilterConfig.FilterIdLow = 0;
sFilterConfig.FilterMaskIdHigh = 0;
sFilterConfig.FilterMaskIdLow = 0;
sFilterConfig.FilterFIFOAssignment = 0;
sFilterConfig.FilterActivation = ENABLE;
HAL_CAN_ConfigFilter(&hcan, &sFilterConfig);

我做错了什么?

【问题讨论】:

    标签: filter stm32 can-bus hal


    【解决方案1】:

    基于下面的“

    【讨论】:

      猜你喜欢
      • 2019-03-03
      • 2020-08-06
      • 1970-01-01
      • 2013-03-15
      • 1970-01-01
      • 2021-12-18
      • 2021-05-01
      • 2016-09-01
      • 2018-03-08
      相关资源
      最近更新 更多