[技术文档] 航顺HK32F103RBT6单片机运行慢的问题

[复制链接]
2199|16
 楼主| 空速星痕001 发表于 2022-7-25 13:53 | 显示全部楼层 |阅读模式
航顺HK32F103RBT6单片机运行慢的问题

问题描述:
用惯了ST公司的M3系列单片机,而又要支持国产,所以找到了国产航顺M3系列,说它完全和STM32单片机兼容,硬件电路和程序都可以直接使用,为了以后的项目方便使用,做了这么一个验证实验:

1.将以前一个使用STM32F103RET6做的一个项目的PCB板子拿来,将板子上STM32芯片使用风枪吹下来,直接替换成HK32F103RBT6芯片;
2.使用STLink结合MDK5.24来调试:打开之前的MDK工程副本,将以前MDK项目Device里的STM32F103RET6改成ST32F103RBT6,再将Debug设置中的FlashDownload改为128K;
3.重新编译;
4.点击下载;

下载后,程序能够跑起来,引脚控制、串口输出、flash读写等等都没有问题,唯一的问题是:感觉所有动作都慢半拍,运行得很慢!举例:一个500ms的延时,结果表现出来5秒的样子;


找原因:
1.首先怀疑是因为外部晶振没有起振,导致芯片自动使用了内部低速时钟:用示波器看晶振波形,结论是:晶振工作正常;
2.怀疑程序中其他程序模块的影响:主函数中,将其他程序全部注释掉,只剩下延时和LED,结论是:并不是这样的;
3.一阵瞎折腾:省略折腾过程,

最终结论:航顺芯片内部启动外部高速时钟HSE耗时比STM32长一点,以至于在执行如下库函数代码时超时跳出,没能正常启动外部高速时钟HSE:

/* Wait till HSE is ready and if Time out is reached exit */
do
{
HSEStatus = RCC->CR & RCC_CR_HSERDY;
StartUpCounter++;
} while((HSEStatus == 0) && (StartUpCounter != HSE_STARTUP_TIMEOUT));


解决办法:
1.打开stm32f10x.h,找到如下一行:

#define HSE_STARTUP_TIMEOUT ((uint16_t)0x0500) /*!< Time out for HSE start up */

2.将超时时间HSE_STARTUP_TIMEOUT改长一些,这里我将0x0500改为0xF500

3.重新编译下载;


问题解决!


七毛钱 发表于 2022-8-4 16:14 来自手机 | 显示全部楼层
哇哦,挺不错的经验,感谢分享
daichaodai 发表于 2022-8-4 19:21 来自手机 | 显示全部楼层
学习了,谢谢分享经验。
chenqianqian 发表于 2022-8-5 08:16 来自手机 | 显示全部楼层
感谢分享经验之谈
weifeng90 发表于 2022-8-8 08:51 来自手机 | 显示全部楼层
谢谢分享经验
两只袜子 发表于 2022-8-11 17:31 来自手机 | 显示全部楼层
这论坛好地方啊,学习了收货了
skyred 发表于 2022-8-15 20:43 | 显示全部楼层
时钟检查了么
Alina艾 发表于 2022-8-21 17:37 | 显示全部楼层
真的可以啊,这个我之前也遇到过,我以为是我自己的问题呢
Emily999 发表于 2022-8-21 17:54 | 显示全部楼层
这个修改这个问题是啥情况,这是什么含义啊?
Charlotte夏 发表于 2022-8-21 18:21 | 显示全部楼层
让超时时间变长一点就可以了?
Betty996 发表于 2022-8-21 19:08 | 显示全部楼层
这个官方没有写啊,还得是楼主,解决这个bug啊
Candic12e 发表于 2022-8-21 19:49 | 显示全部楼层
我遇到过一次,就运行奇慢无比,换了晶振也不好用
Carina卡 发表于 2022-8-23 07:40 | 显示全部楼层
这是不是跟晶振也有关系啊?匹配电容不行导致的?
Betty1299 发表于 2022-8-23 08:23 | 显示全部楼层
那如果外部晶振启动超时,它用的是内置晶振么?
Annie556 发表于 2022-8-23 09:37 | 显示全部楼层
话说,内置晶振的主频是多少啊?
Estelle1999 发表于 2022-8-23 10:05 | 显示全部楼层
那换成航顺提供的demo就没问题,他们头文件 给改了?
B1lanche 发表于 2022-8-23 12:21 | 显示全部楼层
这兼容不彻底啊,感谢楼主分享经验,学习到了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

30

主题

33

帖子

0

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