
多DMA数据流问题
stm32支持canfd和dma结合使用吗
STM32_ImageProcessing_Library 如何实现 图片 去掉 背景?
STM32H743IIT6发热问题.
STM32H743做数字电源,HRTIM问题
TouchGFX Designer下载工程到STM32H7S7-DK报错
为什么NucleoH7上电正常但无法烧录?连接状态一直为绿光红光交替闪烁,如何让他绿灯常亮?
stm32h7在移植f1的库会遇到时序问题吗
STM32H750 USB HS HOST 加 DCMI 接口不能正常工作
请问hal库的硬件spi,该怎么修改spi时钟的占空比呀?
过滤器部分,我不确定若配置为32位过滤器,是否可以兼顾标准帧和扩展帧,即如果收到的只是标准帧,标准ID通过过滤就OK了。这点你可以验证下。
不过,分别以16位和32位宽来配置滤波器肯定是可以的,16位滤波器过滤标准帧,32位过滤器过滤扩展帧,滤波器可以设置多个 。
我现在用的就是两个过滤器,但是只有过滤器0能用,这是我的配置
我分别设置了两个滤波器,只有滤波器0能用,滤波器1不起作用有可能是什么原因?
奇怪呀,你的代码中只看到FIFO1的配置,FIFO0的信息没看到。
理论上在 INIT 函数上都应该看到,然后至少两个过滤器配置给不同的 FIFO
sFilterConfig.IdType = FDCAN_EXTENDED_ID;
sFilterConfig.FilterIndex = 1;
sFilterConfig.FilterType = FDCAN_FILTER_DUAL;
sFilterConfig.FilterConfig = FDCAN_FILTER_TO_RXFIFO1;
sFilterConfig.FilterID1 = 0x18010600;
sFilterConfig.FilterID2 = 0x18010600;
HAL_FDCAN_ConfigFilter(&hfdcan, &sFilterConfig);
或者
sFilterConfig.IdType = FDCAN_EXTENDED_ID;
sFilterConfig.FilterIndex = 1;
sFilterConfig.FilterType = FDCAN_FILTER_MASK;
sFilterConfig.FilterConfig = FDCAN_FILTER_TO_RXFIFO1;
sFilterConfig.FilterID1 = 0x18010600;
sFilterConfig.FilterID2 = 0x1FFFFFFF;
HAL_FDCAN_ConfigFilter(&hfdcan, &sFilterConfig);
不过从你过滤配置来看,似乎也没啥问题。
我有两路CAN,用FIFO1接收的,处理函数在CAN2里
这样配置也能接收,但我需要接收0x581和0x18010600两帧
不知道为啥滤波器配置为0时不能用
我只是演示了下扩展帧的配置,标准帧配置还是那几类。
怀疑你是否代码方面有小问题,很多地方就一字之差,比方0啊1啊,别被这些小细节坑了。
[md]应该是没有问题的,因为单独接收标准帧或者扩展帧都可以接收到,两个一起就不行了
可以考虑接收所有的CAN数据,不需要单独过滤,通过判断接收的ID和CAN类型来做处理。
是这样吗,我这样试过也不行