Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
美好的一天
我一直在尝试从 STM32F407 迁移到 STM32F746。我遇到的问题是使用 ST HAL 库来初始化 CAN。该代码是从 MX Cube (4.16) 生成的。
使用 Nucleo-144 STM32F746,我可以在调试(ST-Link)期间通过初始化代码(MX_CAN1_Init()),但在调试中使用 uLink Pro 的生产系统上则不行。等待 CAN 外设(MSR INAK 位未清除)将超时。
CAN 引脚没有连接任何东西,即悬空。
找到了解决方案。
显然,如果 CAN RXD 引脚悬空或拉低,则初始化功能将超时,除非使用 Nucleo 板上的 ST-Link 进行调试。
然后我在GPIO中使用了内部上拉电阻,问题就消失了。两个系统都会在运行模式或调试中传递初始化代码。
我不记得 STM32F407 是否有类似的问题。