打印
[其他]

GD32替换STM32启动问题

[复制链接]
1411|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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

粉丝