stm32时钟配置总结
stm32时钟配置时钟源:
1,HSE(高速外部时钟)即常见的外接8M晶振方案;
2,HSI(高速内部时钟) 即8M内部振荡时钟方案;
3,LSE(低速外部时钟)即常见的32.768Khz晶振方案;
4,LSI(低速内部时钟)即40Khz的内部震荡时钟方案;
5,PLL(锁相环技术)时钟倍频技术方案;
内部时钟因为精度问题,一般不予以考虑。我们常见的应用办法是,HSE外界8M晶振,然后通过PLL将时钟倍频的时钟配置方案。
正如上图所示,我们硬件上要做的是在OSC_IN和OSC_OUT引脚接入8M的晶振电路,软件上要实现的是将8M的HSE经
PLL转化为系统时钟,进而为各路总线使用。
具体代码实现如下:
void RCC_Configuration(void)
{
//选择HSE时钟
RCC->CR|=(<<);
//等待HSE稳定
while(!(RCC->CR>>));
//PLL时钟来源选择HSE
RCC_CFGR|=(<<);
//PLL倍频系数选择:9(9*8M=72M)
RCC_CFGR|=(<<);
//FLASH的延时周期为2周期
FLASH->ACR=0x32;
//PLL时钟使能
RCC->|=(<<);
//等待PLL时钟稳定
while(!(RCC>>));
//配置系统时钟为PLL时钟
RCC_CFGR|=(<<);
//配置APB1=36M;APB2和AHB都为72M
RCC_CFGR|=(<<);
//等待系统时钟稳定
while((RCC_CFGR&(uint32_t)0x0c)!=(uint32_t)0x08);
}
stm32时钟配置总结的更多相关文章
- stm32 时钟配置——外部时钟倍频、内部时钟倍频 【worldsing笔记】
stm32可选的时钟源 在STM32中,可以用内部时钟,也可以用外部时钟,在要求进度高的应用场合最好用外部晶体震荡器,内部时钟存在一定的精度误差. 准确的来说有4个时钟源可以选分别是HSI.LSI.H ...
- STM32 时钟配置的坑
今天在调试公司的一款产品的时候发现8M的晶振用完了,于是找了一个16M的替代 坑爹的就在这里,明明已经把时钟按照时钟树配置好了,但是串口等外设一直无法正常工作 折腾了一下午,终于发现这位老兄的文章ht ...
- STM32时钟配置方法详解
一.在STM32中,有五个时钟源,为HSI.HSE.LSI.LSE.PLL. ①HSI是高速内部时钟,RC振荡器,频率为8MHz. ②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源, ...
- STM32时钟配置方法
一.在STM32中,有五个时钟源,为HSI.HSE.LSI.LSE.PLL. ①HSI是高速内部时钟,RC振荡器,频率为8MHz. ②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率 ...
- STM32的时钟配置随笔
以前使用STM32都是使用库函数开发,最近心血来潮想要使用寄存器来试试手感,于是乎便在工作之余研究了一下STM32F4的时钟配置,在此将经历过程写下来作为锻炼,同时也供和我一样的新手参考,如有错误或者 ...
- STM32时钟系统的配置寄存器和源码分析
一.时钟系统 概述 时钟是单片机运行的基础,时钟信号推动单片机内各个部分执行相应的指令,时钟系统就是CPU的脉搏,决定cpu速率. STM32有多个时钟来源的选择,为什么 STM32 要有多个时钟源呢 ...
- STM32时钟理解
转载自 http://blog.sina.com.cn/s/blog_6ebd49350100q6xw.html STM32时钟理解 一.硬件上的连接问题 如果使用内部RC振荡器而不使用外部晶振,请按 ...
- STM32时钟系统
一.在STM32中,有五个时钟源,为HSI.HSE.LSI.LSE.PLL. ①HSI是高速内部时钟,RC振荡器,频率为8MHz. ②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率 ...
- STM32F4_RCC系统时钟配置及描述
Ⅰ.概述 对于系统时钟应该都知道它的作用,就是驱动整个芯片工作的心脏,如果没有了它,就等于人没有了心跳. 对于使用开发板学习的朋友来说,RCC系统时钟这一块知识估计没怎么去配置过,原因在于开发板提供的 ...
随机推荐
- CC版本添加 LUCI
BB版本的时候,在 feeds/luci/contrib/package/luci下的Makefile文件添加上需要编译的 luci-application即可. 在CC版里改为:Feeds/luci ...
- IE9 浏览器无法捕获中键事件
在silverlight中由于需要添加中键事件,所以通过hook来捕获,但是在IE9上无法运行,该问题是由于IE9设置问题,如下图修改配置, 取消选择即可:
- UIDatePicker 时间滚动表
UIDatePicker *datapicker; //时间滚动表 datapicker = [[UIDatePicker alloc]initWithFrame:CGRectMake(50, 200 ...
- div hover 特效 css样式
-webkit-transform: scale(1.05); -moz-transform: scale(1.05); -o-transform: scale(1.05); -moz-box-sha ...
- pro asp.net mvc5
mvc 架构的每一个部分都是定义良好和自包含的,称为关注分离.域模型和控制器逻辑与UI是松耦合的.模型中操作数据的逻辑仅包含在模型中,显示数据的逻辑仅包含在视图中,而处理用户请求和用户输入的代码仅包含 ...
- Spring MVC(二)
spring mvc工作流 1A)客户端发出http请求,只要请求形式符合web.xml 文件中配置的*.action的话,就由DispatcherServlet 来处理. 1B)Dispatcher ...
- Linux文件挂载命令mount
在linux系统中硬盘.u盘.光驱等其他设备都需要挂载后才能正常使用.下面是对挂载命令mount使用方法的一些总结. 文件挂载命令mountmount [-t 文件系统类型][-L卷标名][-o特殊选 ...
- 导航栏底部黑线隐藏 UINavigationBar hidden Bottom Line
3种方法: 1.大杀器 ,iOS 10.2 最新系统亲测无问题( 添加导航栏分类) https://github.com/samwize/UINavigationBar-Addition/ 2.io ...
- C++虚函数继承的bug
闲来无事想测试一下:如果在派生类中重写基类的虚函数,那么允不允许改变虚函数的访问权限,结果颠覆了三观..... 基类Base,拥有public方法test(),test()为虚函数 派生类Derive ...
- cuckoo数据库变更
1.cuckoo版本升级 cuckoo默认的数据库为sqlite,默认连接方式为sqlite:///os.path.join(REPORT_ROOT, "db", "cu ...