stm32的时钟配置
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
STM32的时钟配置
飞嵌电子
本教程主要针对STM32的初学者。假设读者有以下基础:
1. 学习过一款8位或16位单片机(51、430、AVR)
2. 熟悉微处理器的常用概念
3. 有一定的C语言基础
笔者不推荐直接学习STM32单片机。学习能力超
强者除外。
•本教程的特色�注重使用
�循序渐进
�软件视角
STM32的架构
时钟的来源•外部时钟(External Clock)HSE
HSI
•内部时钟(Interal Clock)LSE
LSI
•PLL(锁相环时钟)
三个锁相环PLL1,PLL2,PLL3
系统时钟
•几乎所有外设有系统时钟驱动。•系统时钟的来源
HSE
HSI
PLL
时钟的初始化
•SysInit函数将系统时钟初始化到72M
•可以用stm32f10x_rcc.h中声明的相应函数初始化和使能对应外设的时钟。
•使能相应的时钟
例子(ADC1-DMA ) / /** ADCCLK = PCLK2/4 ADCCLK = PCLK2/4 *
*/ RCC_ADCCLKConfig(RCC_PCLK2_Div4); / /** Enable peripheral clocks ------------------------------------------------ Enable peripheral clocks ------------------------------------------------**/ / /** Enable DMA1 clock Enable DMA1 clock *
*/ RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); / /** Enable ADC1 and GPIOC clock Enable ADC1 and GPIOC clock *
*/ RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 |
R CC_APB2Periph_GPIOC RCC_APB2Periph_GPIOC RCC_APB2Periph_GPIOC, ENABLE);, ENABLE);, ENABLE);
注意:千万不要用错函数!