首页 > 编程知识 正文

stm32常用时钟,stm32f0时钟配置

时间:2023-05-06 10:51:15 阅读:189105 作者:1747

新芯片配置第一个工作就是要保证系统时钟是对的

1.虽然SystemInit()会在main之前被执行,但我们可以手动调用此函数,以利于我们跟踪时钟是否配置正确。此函数位于

2.SystemInit()下找到SetSysClock();

3.可以看到有很多个宏,如果你没去掉注释是跟踪不过去的,只能一个一个试,比如跟踪到SYSCLK_FREQ_72MHz,但你的系统时钟最高只能是36MHz,那就要如下修改,注释SYSCLK_FREQ_72MHz,去掉SYSCLK_FREQ_36MHz的注释

4.在主函数调用RCC_GetClocksFreq(&RCC_ClocksFreq);在此函数后打断点,观察Watch1窗口的数值是否是36MHz,如果是则OK。

 

 

 5.如换算成10进制还不是36MHz,则继续跟踪SetSysClock()->SetSysClockTo36(),发现函数里面有针对PLL倍频和分频设置,根据信号选择更改,CL 或者其他,库函数有个缺点就是CL默认外部的高速晶振是25M,其他是8M,当我们接12M时就要更改此文件了。

首先要在stm32f10x.h把HSE_VALUE改成实际晶振值,再在system_stm32f10x.c下计算PLL分频,配置好参数让它计算到36M。再按照步骤4查看是否对了。

 

6.目标结果

 

 

转载于:https://www.cnblogs.com/ycpkbql/p/9106108.html

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。