
最近在调CANopen,用的芯片是STM32H750VBT6,发现按照ST的例程生成简单的测试程序后,只要执行一次发送后,CAN模块就会自动一直往外发送这帧数据,查看寄存器发现发送挂起寄存器一直有标志。 开始以为是配置问题,网上搜索也没有搜到太多相关的信息,之后分别查看了H7-Tool、rtthread和ST官方例程,发现设置并没有问题,后面就重新生成了一个只有CAN模块的代码,这时问题不再出现了,所以再去查之前的版本是否哪些代码导致了这个异常。 最后排查出来,原因是时钟的配置问题,由于其他部分需要,我的APB1时钟配置成了15MHz,而FDCAN1的时钟我用的是80MHz,将FDCAN1时钟改为40MHz后问题消失。(同时测试FDCAN1时钟80M,APB1时钟120M也是正常的) 查看手册可以看到FDCAN是有内核时钟域和APB时钟域两个时钟域,两个时钟域的数据进行交互时需要进行时钟同步 请问是否是之前的时钟配置使得这两个时钟域的同步异常了,所以导致发送挂起寄存器未被清空,从而一直往外发送数据? |
MotorControl Workbench_6.3.2配置单片机时找不到STM32H743VIT6E
STM32H743IIT6同时配置ADC3通道中的温度及内部参考电压,扫描单次转换,怎样读出这二个数据?
TouchGFX Designer下载工程到STM32H7S7-DK报错
Demo 例程
关于STM32H743VIT6 在用QSPI的接口,想换个CS的管脚,但芯片内置是绑死的,这个要怎么处理,用个其他的IO口做片选
定时器使用DMA突发传输功能时,传入指针从常量数组改为变量数组后,传输功能异常。测试官方用例一样,是何原因?
STM32H745XIH6不能进行双核调试,CM4不能进行在线调试
正点原子阿波罗H743使用DMA2D后普通刷出现问题
STM32CubeMX在配置DCMI的腳位時,在Mode的選項中, 只有8bits, 10bits與12bits, 為何沒有14bits?
STM32H7双核调试问题:CM7能成功调试但CM4始终报"Failed to read ROM table via AP 3"错误
还是倾向于不同时钟域数据同步的问题,APB1频率15MHz,FDCAN频率40MHz的情况下,只是在之前的测试条件下不会再自动一直往外发数据了,但是修改了发送接收fifo和ram个数,问题又出现了,最后将FDCAN时钟也改为了15MHz,经过多项测试,暂时不在出现问题了。
每秒大概8次,发送两万到三万次的时间就报错,停止发送
hfdcan1.ErrorCode=HAL_FDCAN_ERROR_FIFO_FULL
Get element from empty FIFO
有没人遇到过,有时重上电还会死机
我们最近的项目也遇到了。和你的问题基本一样,不知道楼主,你的问题解决没有。
你好,解决了吗?解决的话可以分享一下解决方法吗?
你好,解决了吗?解决的话可以分享一下解决方法吗?
尽量保持 FDCAN 的时钟与 APB 时钟域之间的兼容性。如果可能,选择整数倍关系的时钟频率。 查阅数据手册:仔细查阅 STM32H7 的数据手册,了解 FDCAN 的时钟配置要求和建议。 测试与验证:在实际应用中,进行充分的测试和验证,以确保 FDCAN 的稳定性和可靠性。 参考设计:参考 ST 提供的官方设计指南和例程,确保你的配置符合最佳实践。
解决了