[其他] GD32替换STM32启动问题

[复制链接]
 楼主| micoccd 发表于 2023-5-29 14:11 | 显示全部楼层 |阅读模式
背景:

        GD32f103替换STM32f103,外部晶振不起振系统自动调用内部晶振,程序无法正常运行。

显现:

        Can、Uart等外设无法使用,定时器时钟频率不正常

原因(官方解释):

        GD32运行时间比STM32运行速度快,导致实际等待晶振起振时间比设置的时间要短

解决方法1(官方):

        stm32f10x.h

        #define HSE_STARTUP_TIMEOUT   ((uint16_t)0x0500)

        修改为:

        #define HSE_STARTUP_TIMEOUT   ((uint16_t)0xffff)

结果:

        按照该方法修改,程序仍然会出现使用内部晶振的问题,但概率会降低。

解决方法2:

        制作bootloader程序,在bootloader中使用内部晶振,同时启动外部晶振。

        等待2~5S时间,确保外部晶振已经启动后程序跳转至APP中。


chenjun89 发表于 2023-6-10 22:34 来自手机 | 显示全部楼层
学习了,谢谢分享经验。
豌豆爹 发表于 2023-7-14 10:36 | 显示全部楼层
学习了,谢谢分享经验。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

109

主题

727

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部