野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12591|回复: 3

关于HSI是如何启动的问题?

[复制链接]
发表于 2017-5-17 21:44:07 | 显示全部楼层 |阅读模式
30火花
我手动焊了两块stm32f103的板子,做了简单测试,发现点灯的延迟不一样,严格的相差了9倍,检测到其中一块出错的原因是晶振。好的那个板子是8M晶振,倍频后72M,这个都是走的系统程序static void SetSysClockTo72(void)没问题下面对坏的那块板子进行分析,我用下载器进行debug调试,发现在进入函数static void SetSysClockTo72(void)后,前几句就通不过, HSEStatus一直得不到,毕竟是外部晶振坏掉了嘛,所以很快就退出了系统时钟配置函数,然后调试debug下一步,直接就到main()函数了,也就是说并没有看到HSI是如何配置的,根据我的实验现象,我知道坏的那块板子,最终时钟是8M,也就是说HSI肯定是替代了HSE工作了,但是具体是如何分配时钟频率的呢?说能给讲一下呀?特别好奇这块,谢谢了。

回复

使用道具 举报

发表于 2017-5-18 08:49:19 | 显示全部楼层
默认是先启动了HSI,所以你debug的时候,把断点再往前设置才可以看到,你可以跟着函数system_init一步步看
回复

使用道具 举报

 楼主| 发表于 2017-5-18 11:37:12 | 显示全部楼层
flyleaf 发表于 2017-5-18 08:49
默认是先启动了HSI,所以你debug的时候,把断点再往前设置才可以看到,你可以跟着函数system_init一步步看

你好,我一步步跟踪看了,退出了HSE的配置,然后就没了,我大概知道是进入了HSI配置里,但跟踪不到程序,我想知道HSI如何分配系统时钟?8M?PLL不倍频吗?
回复

使用道具 举报

发表于 2017-5-18 11:47:17 | 显示全部楼层
固件库使用HSI的时候,就是8M,没倍频
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 01:51 , Processed in 0.029470 second(s), 22 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表