
正点原子阿波罗H743使用DMA2D后普通刷出现问题
STM32CubeMX在配置DCMI的腳位時,在Mode的選項中, 只有8bits, 10bits與12bits, 為何沒有14bits?
STM32H7双核调试问题:CM7能成功调试但CM4始终报"Failed to read ROM table via AP 3"错误
MC SDK为什么不支持H743,看样子只支持H745H755
STM32的TIM触发SPI的DMA发送使用NSS时MSSI的问题
hrtim里update reset和reset update同时打开不会互相激励吗,另外为什么现在定时器周期值不用-1了
想点亮LED灯,stlink连接有问题
STM32H743使用EXIT0触发SPI的DMA发送数据
如何使用cubeide配置stm32H750环境,但是在SYS中没有debug选项,也就选不了serial wire,
在使用nucleo H7开发版 USART2发送数据测试的时候,RTS脚产生与TX脚一样的伴随波形,波形与TX脚一致
过滤器部分,我不确定若配置为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类型来做处理。
是这样吗,我这样试过也不行