寒假学习之STM32(2)----时钟
2017-01-22 17:30
260 查看
时钟的相关
PS:这个章节初次接触也是一头雾水,我打算先整理一下思路,在逐渐的写一些相关文章来进行完善,目前的主要工作和目的是为了先学会配置stm32时钟应该算是stm32的心脏,每一次进行寄存器配置之前,总是要先配置一遍时钟,比如在配置GPIO口的时候,步骤为:
配置时钟->在GPIO_Init_TypeDef 的结构体中配置相关元素->GPIO_Init()进行初始化
而在配置GPIO时钟的时候,我们使用的是RCC_APB2PeriphCLockCmd(GPIOx,ENABLE);
使用这个函数的原因参见下图:
由总体的架构图中可以看出,STM32大致有五个重要的时钟
1. SYSCLK(系统时钟)
2. AHB(总线时钟)
3. APB1(低速总线时钟)
4. APB2(高速总线时钟)
5. PLL( 锁相环倍频输出,最大为72MHz,可以影响系统时钟 )
而这五大时钟,由五个重要的时钟源来影响:
1. HSI : 高速内部时钟,8MHz 由内部RC电路产生,精度捉急
2. HSE : 高速外部时钟,由时钟源或者外部晶振产生,频率大概在4MHz~16MHz
3. LSI : 低速内部时钟,40kHz,基本上供给于看门狗
4. LSE : 低速外部时钟,串接外部32.768kHz的晶振
5. PLL : 锁相环倍频输出,最大为72MHz,可以影响系统时钟
这么多时钟的配置主要是在我们工程的stm32f10x_rcc.c的文件中
承接上一篇博客,还是以APB2PeriphClockCmd为例,上一篇的代码中配置的过成为:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOE, ENABLE );//实际上可以使用 | 运算来同时配置多个GPIO口
而这个函数的入口参数我们也可以在 stm32f10x_rcc.c 这个文件中找到,如图:
借助RCC_APB2PeriphClockCmd()这个函数,我们再推广一下,看看其他时钟的使能函数:
先了解这么多,以后用到的时候再深入
相关文章推荐
- STM32再学习——实时时钟(RTC)
- stm32固件库学习之:建立模板和初始化系统时钟
- STM32学习-RTC实时时钟
- STM32时钟系统学习
- STM32学习笔记:SysTick时钟
- STM32时钟学习之STM3210X_RCC.H解读
- 寒假学习之STM32(1)----GPIO
- ※回顾※STM32入门学习之_SysTick_Config()函数的SysTick时钟配置
- stm32学习笔记——浅谈时钟系统
- 学习笔记∣stm32l0xx时钟系统详解与代码配置
- STM32 时钟学习
- STM32再学习——实时时钟(RTC)
- STM32学习笔记2-系统时钟知识及程序配置
- STM32学习笔记之时钟系统
- STM32学习笔记——AFIO时钟的配置问题
- STM32再学习——时钟初始化
- STM32寄存器操作方式学习-时钟配置
- cortex_m3_stm32嵌入式学习笔记(十四):RTC实时时钟(秒中断)
- STM32学习----时钟
- STM32学习笔记3——时钟系统