打印
[STM32F4]

CAN 控制器仅能启用一个 filter-bank 配置

[复制链接]
204|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
WHALEE|  楼主 | 2025-4-21 10:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


用 STM32F413- Nucleo F413Zh 开发板,Mask/ID list 模式可以使用不同数量的滤波器组,如何配置启用单个滤波器组或启用所有组?32 /16位模式 也改变mask模式或 Id 模式的滤波器组数量。filterbank # 定义被修改的 filterbank 。以下代码就是我多个滤波器组的方法:

// for (filterNo = 0; filterNo < CAN1_FILTER_CNT; filterNo++){
//   sFilterConfig.FilterBank = filterNo;
//   sFilterConfig.FilterMode = CAN1_FilterMode[filterNo];
//   sFilterConfig.FilterScale = CAN_FILTERSCALE_32BIT;
//   sFilterConfig.FilterIdHigh = CAN1_ID_HiWord[filterNo];
//   sFilterConfig.FilterIdLow = CAN1_ID_LoWord[filterNo];
//   sFilterConfig.FilterMaskIdHigh = CAN1_FilterMaskHiWord[filterNo];
//   sFilterConfig.FilterMaskIdLow = CAN1_FilterMaskLoWord[filterNo];
//   sFilterConfig.FilterFIFOAssignment = CAN_RX_FIFO0;
//   sFilterConfig.FilterActivation = ENABLE;
//   sFilterConfig.SlaveStartFilterBank = 14;
//
//   if(HAL_CAN_ConfigFilter(&hcan1, &sFilterConfig) != HAL_OK)
//   {
//    // Filter configuration Error
//    Error_Handler();
//   }
//  }
遇到的问题是 CAN 控制器仅启用 “for loop” 中调用的最后一个 filter-bank 配置,其他的 filter-bank没有启用


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

12

帖子

0

粉丝