
STM32H750B-DK 板载STLINK 无程序
ART-PI H750-USB-MSC 设备描述符异常
求助:STM32H7B0 + QSPI W25Q128JV无法读取ID
DSP双精度矩阵乘法库在哪里下载?
板载STLinkV3无法使用
STM32H7开启单脉冲模式 PWM波脉冲宽度不受CCR控制
有提供 stm32h747 系列的 驱动 ek79007 mipi 的例程吗 ?
如何STM32H7的hal库,做SPI主从机通讯?
MotorControl Workbench_6.3.2配置单片机时找不到STM32H743VIT6E
STM32H743IIT6同时配置ADC3通道中的温度及内部参考电压,扫描单次转换,怎样读出这二个数据?
过滤器部分,我不确定若配置为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类型来做处理。
是这样吗,我这样试过也不行