[ZEPHYR]SDMMC2 Clock Initialization Failure on M4 Core (PLL2R Frequency Mismatch) 問題詢問
STM32H750 FFT 时间太长
OV5640 JPEG帧头和帧尾读取错误,无法找到FFD8和FFD9
问题解决,自己吓自己了
又有问题了,在尝试H7板子DA操作,但是DA按钮是灰色的咋回事
STM32H747在计算内置温度时硬件错误
自己设计了一个PCB板,一开始还能识别到芯片并且烧录程序,但是用几次后,就识别不到芯片了,并且无法烧录程序。
有关STM32h755的单片机?
STM32H7A3VGTA QSPI读W25Q128J DMA模式不能工作
STM32H725VGT3电源配置问题
微信公众号
手机版
过滤器部分,我不确定若配置为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类型来做处理。
是这样吗,我这样试过也不行