STMF103学习记录—时钟

本文介绍了不同类型的时钟源,包括HSIRC、GSEOsc、PLL等,并详细解释了它们的应用场景,如系统时钟、USB时钟及RTC时钟。此外,还提供了STM32微控制器中时钟控制寄存器的功能说明及其标准库函数配置方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

时钟源

HSI RC(高速内部时钟)    内部RC振荡器,约8MHz

GSE Osc(高速外部时钟)    外接晶振,4~16MHz

PLL(锁相环)    用于倍频,2~16倍频,用于倍频高速时钟

以上用于系统时钟和USB时钟

LSE Osc(低速外部时钟)    外接晶振,32.768KHz,可以通过HSE128分频得来

LSI RC(低俗内部时钟)    内部RC振荡器,约40KHz,可以用于看门狗时钟

以上用于RTC(实时)时钟


寄存器

时钟控制寄存器(RCC_CR)

时钟配置寄存器(RCC_CFGR)

时钟中断寄存器 (RCC_CIR)

APB2 外设复位寄存器 (RCC_APB2RSTR)

APB1 外设复位寄存器 (RCC_APB1RSTR)

AHB外设时钟使能寄存器 (RCC_AHBENR)

APB2 外设时钟使能寄存器(RCC_APB2ENR)

APB1 外设时钟使能寄存器(RCC_APB1ENR)

备份域控制寄存器 (RCC_BDCR)

控制/状态寄存器 (RCC_CSR)


标准库函数

时钟使能配置

RCC_HSEConfig(uint32_t RCC_HSE)

RCC_LSEConfig(uint8_t RCC_LSE)

RCC_LSICmd(FunctionalState NewState)

RCC_HSICmd(FunctionalState NewState)

RCC_PLLCmd(FunctionalState NewState)

时钟源相关配置

RCC_PLLConfig(uint32_t RCC_PLLSource, uint32_t RCC_PLLMul)

RCC_SYSCLKConfig(uint32_t RCC_SYSCLKSource)

RCC_RTCCLKConfig(uint32_t RCC_RTCCLKSource)

分频系数选择配置

RCC_HCLKConfig(uint32_t RCC_SYSCLK)

RCC_PCLK1Config(uint32_t RCC_HCLK)

RCC_PCLK2Config(uint32_t RCC_HCLK)

外设时钟使能

RCC_AHBPeriphClockCmd(uint32_t RCC_AHBPeriph, FunctionalState NewState)

RCC_APB1PeriphClockCmd(uint32_t RCC_APB1Periph, FunctionalState NewState)

RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState NewState)

其他外设时钟配置

RCC_ADCCLKConfig(uint32_t RCC_PCLK2)

RCC_RTCCLKConfig(uint32_t RCC_RTCCLKSource)

状态参数获取

RCC_GetClocksFreq(RCC_ClocksTypeDef* RCC_Clocks)

RCC_GetSYSCLKSource(void)

RCC_GetFlagStatus(uint8_t RCC_FLAG)

RCC中断相关函数

RCC_ITConfig(uint8_t RCC_IT, FunctionalState NewState)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值