STM32F103用内部HSI,时钟无法倍频到64M

2019-07-14 14:15发布

大家好,我在设计初期的时候,用的最小核心板调试程序的。样板上有8M外部晶体。但我一直用的HSI。最终产品上因为PCB尺寸原因,没有放置外部8M晶体。

但现在第一批样机回来后,我“惊喜”的发现,用内部HSI,时钟无法倍频到64M,PLL配置参数 RCC_PLLMul_12,正常,一旦大于等于 RCC_PLLMul_13,执行后程序就会进入 硬件故障中断 HardFault_Handler() 。

但程序之前在最小核心板上是调试通过的,然后我试着把最小核心板上的外部晶体拆掉,果然,程序也不能正常运行了。。。

那么,这就是说,如果没有外部晶体。即使我用的是HSI,那也是无法倍频至64M的。。。这他么的就尴尬了啊。。。咋办呢


求助各位大神,如果我外部不接8M晶体,难道内部HSI就无法倍频至64M吗,手册上可没说啊,要怎么解决呢?多谢多谢。。。很急。。。

感觉要坑死我的节奏了。。。再次感谢大伙帮忙看看!



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
ke5627712
1楼-- · 2019-07-14 20:14
只能帮顶啦
MarsShu
2楼-- · 2019-07-15 01:47
加油
TOPCB
3楼-- · 2019-07-15 06:13
应该是时钟配置的问题,自己算一下实际的结果。不行就用STM32CubeMX配置一下。
zhouxk
4楼-- · 2019-07-15 11:35
时钟配置有问题。首先看一下用户手册中的时钟树,然后对照寄存器设置一下。内部时钟是试过的
ctwewer
5楼-- · 2019-07-15 16:10
 精彩回答 2  元偷偷看……
selina1023
6楼-- · 2019-07-15 16:53
jfuwre 发表于 2019-2-13 11:04
是你自己坑死你,不是芯片坑死你!!!!很简单...看一下手册芯片时钟介绍,然后用寄存器配置一下不就得了!!!人啊,就是懒,如其这么急不可耐,还不如看一下时钟介绍部分,花一点时间,就搞定了!!!!!

非常感谢版主的指教,因为我之前一直用的库函数(3.5)开发,对STM32的底层寄存器不是很熟悉。
然后恳请版主再提示一下可能是哪里的问题?如下图:

之所以开始觉得我程序没问题是因为,外部晶体的有 无、会影响程序的正确性。但是我觉得不应该跟外部晶体有关系。所以我才冒然的说可能是芯片坑了我。。。请见谅。。。

一周热门 更多>