STM32f103mini 第四个项目:时钟系统

1,时钟系统框架图

 

2,时钟系统知识总结

1,STM32有5个时钟源

①、HSI是高速内部时钟,RC振荡器,频率为8MHz,精度不高。

②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHZ~16MHZ。
③、LSI是低速内部时钟,RC振荡器,频率为40kHZ,提供低功耗时钟。WDG

④、LSE是低速外部时钟,接频率为32.768kHZ的石英晶体。RTC

⑤、PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。
2.系统时钟SYSCLK可来源于三个时钟源:

①、HSI振荡器时钟
②、HSE振荡器时钟
③、PLL时钟

3.STM32可以选择一个时钟信号输出到MCO脚(PA8)上,可以选择为PLL输出的2分频、HSI、HSE、或者系统时钟。

4.任何一个外设在使用之前,必须首先使能其相应的时钟。

重要时钟

OSYSCLK(系统时钟):
AHB总线时钟
APB1总线时钟(低速):速度最高36MHz 

APB2总线时钟(高速):速度最高72MHz

PLL时钟

3,RCC相关配置器

typedef struct

{
__IO uint32_t CR;        //HSI,HSE,CSS,PLL等的使能和就绪

__IO uint32_t CFGR;        //PLL等的时钟源选择,分频系数设定        
__IO uint32_t CIR;        //清除/使能时钟就绪中断
__IO uint32_t APB2RSTR;        //APB2线上外设复位寄存器
__IO uint32_t APB1RSTR;        //APB1线上外设复位寄存器
__IO uint32_tAHBENR;        //DMA,SDIO等时钟使能
__IO uint32_tAPB2ENR;        //APB2线上外设时钟使能
__IO uint32_tAPB1ENR;        //APB1线上外设时钟使能
__IO uint32_t BDCR;        //备份域控制寄存器
__IO uint32_t CSR;        //控制状态寄存器
}RCCTypeDef;

4,RCC相关头文件和固件库源文件

头文件:stm32f10x_rcc.h
源文件:stm32f10x_rcc.c

1.时钟使能配置:
RCC_LSEConfig()、RCC_HSEConfig()、
RCC_HSICmd()、RCC_LSICmd()、RCC_PLLCmd().....

2.时钟源相关配置:
RCC_PLLConfig ()、RCC_SYSCLKConfig()、
RCC_RTCCLKConfig()...

3.分频系数选择配置:
RCC_HCLKConfig()、RCC_PCLK1Config()、RCC_PCLK2Config()..
4.外设时钟使能:
RCC_APB1PeriphClockCmd()://APB1线上外设时钟使能RCC_APB2PeriphClockCmd();//APB2线上外设时钟使能RCC_AHBPeriphClockCmd();//AHB线上外设时钟使能

5.其他外设时钟配置:
RCC_ADCCLKConfig (); RCC_RTCCLKConfig();

6.状态参数获取参数:
RCC_GetClocksFreq();

RCC_GetSYSCLKSource();

RCC GetFlagStatus()

7.RCC中断相关函数:
RCC_ITConfig()、RCC_GetITStatus()、RCC_ClearITPendingBit()..

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值