STM32复位和时钟控制(RCC)
STM32L4复位和时钟控制(RCC)介绍

Clocks: PLL
• 3 PLLs
• Each with 3 independent outputs • PLLs input frequency must be between 4 and 16 MHz • PLL input can be MSI/HSI or HSE f(VCO clock) = (f(PLL clock input)/PLLM) × PLLN f(PLL_P) = f(VCO clock) / PLLP f(PLL_Q) = f(VCO clock) / PLLQ f(PLL_R) = f(VCO clock) / PLLR PLLM from 1 to 8 PLLN from 8 to 86 PLLP = 7 or 17 PLLQ = 2, 4, 6, 8 PLLR = 2, 4, 6, 8
100 kHz, 200 kHz, 400 kHz, 800 kHz, 1 MHz, 2 MHz, 4 MHz (reset value), 8 MHz, 16 MHz, 24 MHz, 32 MHz, 48 MHz.
89
• After Reset and Shutdown, MSI frequency is 4 MHz, selected by MSISRANGE in RCC_CSR register • After Standby: Frequency selected from 1, 2, 4 or 8 MHz with MSISRANGE in RCC_CSR register. • MSIRGSEL must be set in RCC_CR to switch to the frequency selected by MSIRANGE
STM32微控制器寄存器说明

PLLXTPRE:HSE 分频器作为 PLL 输入(HSE divider for PLL entry)。由软件
置‘1’或清‘0’来分频 HSE 后作为 PLL 输入时钟。只能在关闭 PLL 时才能
写入此位。
0:HSE 不分频; 1:HSE 2 分频
PLLSRC:PLL 输入时钟源(PLL entry clock source)。由软件置‘1’或清‘0’
保 HSI HSI
留 RDY ON
位 31:26 位 25 位 24
位 23:20 位 19 位 18
位 17
位 16
位 15:8 位 7:3
保留,始终读为 0。 PLLRDY:PLL 时钟就绪标志(PLL clock ready flag)。PLL 锁定后由硬件置‘1’。 0:PLL 未锁定; 1:PLL 锁定。 PLLON:PLL 使能(PLL enable)。由软件置‘1’或清零。当进入待机和停止 模式时,该位由硬件清零。当 PLL 时钟被用作或被选择将要作为系统时钟时, 该位不能被清零。 0:PLL 关闭; 1:PLL 使能。 保留,始终读为 0。 CSSON:时钟安全系统使能(Clock security system enable)。由软件置‘1’或 清零以使能时钟监测器。 0:时钟监测器关闭; 1:如果外部 4-16MHz 振荡器就绪,时钟监测器开启。 HSEBYP:外部高速时钟旁路(External high-speed clock bypass)。在调试模式 下由软件置‘1’或清零来旁路外部晶体振荡器。只有在外部 4-16MHz 振荡器 关闭的情况下,才能写入该位。 0:外部 4-16MHz 振荡器没有旁路; 1:外部 4-16MHz 外部晶体振荡器被旁路。 HSERDY:外部高速时钟就绪标志(External high-speed clock ready flag)。由硬 件置‘1’来指示外部 4-16MHz 振荡器已经稳定。在 HSEON 位清零后,该位 需要 6 个外部 4-16MHz 振荡器周期清零。 0:外部 4-16MHz 振荡器没有就绪; 1:外部 4-16MHz 振荡器就绪。 HSEON:外部高速时钟使能(External high-speed clock enable)。由软件置‘1’ 或清零。当进入待机和停止模式时,该位由硬件清零,关闭 4-16MHz 外部振荡 器。当外部 4-16MHz 振荡器被用作或被选择将要作为系统时钟时,该位不能被 清零。 0:HSE 振荡器关闭; 1:HSE 振荡器开启。 HSICAL[7:0]:内部高速时钟校准(Internal high-speed clock calibration)。系统 启动时,这些位被自动初始化。 HSITRIM[4:0]:内部高速时钟调整(Internal high-speed clock trimming)。由软 件写入来调整内部高速时钟,它们被叠加在 HSICAL[7:0]数值上。这些位在
STM32F103的复位及时钟控制模块头文件

STM32F103的复位及时钟控制模块头文件在处理器正常工作前,肯定要做一些初始化工作,其中最主要的一个就是初始化各种时钟。
通过对STM32F103的复位及时钟控制(RCC)模块分析之后,自己写了一个RCC的头文件,这样使用起来更方便。
头文件中首先定义了最基本的几个寄存器,然后再对每个寄存器中的域使用结构体做了定义,可以直接使用寄存器中的位来操作。
注意设置系统时钟时要先设置好FLASH的等待周期,不然程序就可能会跑飞。
该测试工程是在以前的GPIO实验的基础上增加系统时钟初始化代码,设置系统时钟为72M。
通过流水灯可以看到,比未配置系统时钟之前(8M)流水灯的速度快了很多。
从这里下载完整的测试工程:系统时钟初始化的代码如下://以下时钟配置为最高性能void SystemClockInit(void){//设置flash等待周期为2,否则设置为72M系统时钟时就会跑飞FLASH_ACR=0x32;pbRCC_CR->HSEON=1; //使能外部高速时钟while(!(pbRCC_CR->HSERDY)); //等待外部高速时钟稳定pbRCC_CFGR->MCO=0; //MCO无时钟输出pbRCC_CFGR->USBPRE=1; //USB时钟1.5分频pbRCC_CFGR->PLLMUL=9-2; //PLL倍频设置为9倍(外部时钟8M,PLL输出72M)pbRCC_CFGR->PLLXTPRE=0; //HSE不分频pbRCC_CFGR->PLLSRC=1; //HSE选作做为PLL时钟源输入pbRCC_CFGR->ADCPRE=0; //ADC时钟2分频pbRCC_CFGR->PPRE2=1+6; //APB2设置为1分频pbRCC_CFGR->PPRE1=2+6; //APB1设置为2分频pbRCC_CFGR->HPRE=0; //AHB无分频pbRCC_CR->PLLON=1; //启动PLLwhile(!(pbRCC_CR->PLLRDY)); //等待PLL稳定pbRCC_CFGR->SW=2; //选择PLL输出为时钟源//pbRCC_AHBENR->SRAMEN=1;//pbRCC_AHBENR->FLITFEN=1;//IO口第二功能时钟使能pbRCC_APB2ENR->AFIOEN=1;//各通用IO口时钟使能pbRCC_APB2ENR->IOPAEN=1;pbRCC_APB2ENR->IOPBEN=1;pbRCC_APB2ENR->IOPCEN=1;pbRCC_APB2ENR->IOPDEN=1;pbRCC_APB2ENR->IOPEEN=1;//ADC时钟使能pbRCC_APB2ENR->ADC1EN=1;pbRCC_APB2ENR->ADC2EN=1;//定时器1时钟使能//SPI1时钟使能pbRCC_APB2ENR->SPI1EN=1;//串口1时钟使能pbRCC_APB2ENR->USART1EN=1;//定时器2、3、4时钟使能pbRCC_APB1ENR->TIM2EN=1; pbRCC_APB1ENR->TIM3EN=1; pbRCC_APB1ENR->TIM4EN=1;//窗口看门狗时钟不使能pbRCC_APB1ENR->WWDGEN=0;//SPI2时钟使能pbRCC_APB1ENR->SPI2EN=1;//串口2、3时钟使能pbRCC_APB1ENR->USART2EN=1; pbRCC_APB1ENR->USART3EN=1;//I2C1、2时钟使能pbRCC_APB1ENR->I2C2EN=1;//USB时钟使能pbRCC_APB1ENR->USBEN=1;//CAN时钟使能pbRCC_APB1ENR->CANEN=1;//备份接口时钟使能pbRCC_APB1ENR->BKPEN=1;//电源接口时钟使能pbRCC_APB1ENR->PWREN=1;//外部低速时钟启动pbRCC_BDCR->LSEON=1;pbRCC_BDCR->LSEBYP=0;pbRCC_BDCR->RTCSEL=1; //选择外部时钟为RTC时钟}STM32/STM8意法半导体/ST/STM。
STM32F0系列寄存器操作02RCC时钟配置

STM32F0系列寄存器操作02RCC时钟配置对于STM32F0系列的RCC时钟配置,以下是一个超过1200字的例子:RCC(Reset and Clock Control)是用于配置和控制STM32F0系列微控制器的时钟的模块。
时钟系统对于微控制器的运行非常重要,因为它影响到系统的性能、功耗和稳定性。
在使用STM32F0系列微控制器时,首先需要配置RCC模块的寄存器,以确定各种时钟源的频率、分频系数和使能状态。
以下是配置RCC模块的步骤:1.选择系统时钟源:RCC_CFGR寄存器用于选择系统时钟源。
主要的时钟源有内部高速时钟HSI(高速内部),外部晶体时钟HSE(高速外部),外部低速时钟LSI(低速内部)和外部低速时钟LSE(低速外部)。
可以使用RCC_CFGR寄存器的SW位域来选择时钟源。
2.设置时钟频率和分频系数:根据应用的需求,可以设置时钟的频率和分频系数。
RCC_CFGR寄存器的HPRE、PPRE、和PLLMUL位域用于设置时钟的分频系数。
同时,还可以使用RCC_CFGR2和RCC_CFGR3寄存器来设置PLL(锁相环)的输入时钟和分频因子。
3.使能时钟源:RCC_APB2ENR、RCC_APB1ENR和RCC_AHBENR寄存器用于使能各个外设的时钟源。
可以使用这些寄存器的位域来控制外设时钟的使能状态。
4.时钟安全配置:RCC_CFGR寄存器的MCO和MCOPRE位域用于配置主要时钟输出的时钟安全特性。
可以设置MCO和MCOPRE位域来输出主时钟信号、内部时钟信号或外部时钟信号。
配置完毕后,需要等待时钟系统配置完成。
通过读取RCC_CFGR寄存器的SWS位域,可以确保时钟系统配置已经生效。
一旦配置完成后,系统将按照配置的时钟源和频率来运行。
在使用STM32F0系列微控制器时,正确配置RCC时钟是非常重要的。
这样可以确保系统的稳定性、性能和功耗都能达到预期的要求。
通过操作RCC模块的相关寄存器,可以实现对时钟源和频率的灵活配置,以满足不同应用的需求。
STM32RCC分析与使用

STM32RCC分析与使用STM32系列微控制器是意法半导体公司(STMicroelectronics)推出的一款32位嵌入式微控制器,广泛应用于各种各样的嵌入式应用中。
在STM32中,RCC(Reset and Clock Control)模块是用来控制系统复位和时钟的重要模块。
下面将对RCC模块进行分析与使用。
首先,RCC模块的主要功能是对系统时钟进行控制和配置。
在STM32中,系统时钟用于驱动处理器和外设,因此RCC模块的配置对整个系统的性能和功能都有着重要的影响。
RCC模块提供了多个时钟源和分频器来满足不同需求。
RCC模块主要包括以下功能:1.时钟源选择:RCC可以选择多个时钟源,包括内部和外部时钟源。
常见的时钟源包括内部高速时钟(HSI)、内部低速时钟(LSI)、外部高速时钟(HSE)和外部低速时钟(LSE)等。
通过选择不同的时钟源,可以满足不同的功耗和精度要求。
2.时钟分频:RCC模块提供了多个分频器,可以对系统时钟进行分频,以得到所需的时钟频率。
可以通过调整分频系数来满足不同的应用需求,例如减小系统时钟频率以降低功耗。
3.时钟输出:RCC模块还可以将系统时钟输出到特定的管脚,以供其他外设使用。
这对于一些需要同步时钟的应用非常有用。
在使用RCC模块时,一般需要进行以下几个步骤:1.使能对应的时钟源:根据实际需求选择合适的时钟源,并使能该时钟源。
对于外部时钟源,还需要设置相关的参数,如频率和稳定性。
2.配置时钟分频器:根据应用需求配置时钟分频器,以得到所需的时钟频率。
通常可以通过寄存器设置来完成。
3.选择系统时钟源:根据实际需求选择合适的系统时钟源。
一般可以选择内部高速时钟(HSI)、内部低速时钟(LSI)、外部高速时钟(HSE)或外部低速时钟(LSE)作为系统时钟源。
4.配置系统时钟分频器:根据应用需求配置系统时钟分频器,以得到所需的系统时钟频率。
通常可以通过寄存器设置来完成。
5.配置时钟输出:如果需要将系统时钟输出到特定的管脚,可以通过设置相应的寄存器来完成。
STM32F407_RCC配置

RCC (Reset and Clock Control)配置这里介绍RCC 的时钟控制功能在STM32F103上,由于小组所有的板子都使用用同样的芯片,同样的晶振,以及同样的库函数,即使我们不去理解RCC,仍然可以将大多数功能调试出来。
但如果使用不同型号的芯片,例如用STM32F407 与STM32103 进行通信,如果不去弄清楚RCC,在调试中可能会遇到麻烦。
下面就我调试STM32F407的这段时间,介绍一下RCC的部分功能。
文档的前半部分是关于RCC的部分功能描述,后半部分是关于库函数的使用。
时钟结构(原图请参考STM32F407 参考手册RCC部分)STM32F407最高层是SYSCLK系统时钟,由其生成了AHB时钟,再由AHB时钟生成APB时钟。
SYSCLK系统时钟可以由3个基本的时钟源获得:HSE(外部高速晶振)或HSI(部高速晶振)或PLL锁相环倍频。
例如:板子上焊了8MHz的晶振,则HSE = 8MHz。
如果焊了25MHz的,则HSE = 25MHz。
HSI是芯片部自带的晶振,其大小由芯片型号决定,如STM32F407的HSI是16MHz。
PLL倍频的功能是:将HSE或HSI的频率放大,最大可以放大到168MHz.SYSCLK系统时钟可以由HSE/HSI/PLL提供。
例如使用库函数:RCC_SYSCLKConfig( RCC_SYSCLKSource_HSE);代表用HSE外部高速晶振作为系统时钟源。
如果HSE =8MHz,则SYSCLK = 8M,即STM32F407就会运行在8M的速度;如果HSE=25M,则SYSCLK = 25M,即STM32F407就会运行在25M。
RCC_SYSCLKConfig( RCC_SYSCLKSource_HSI );代表用HSI部高速晶振作为系统时钟源,如果HSI=16M,则SYSCLK=16M,即STM32F407 就会运行在16M的速度。
STM32复位和时钟控制(RCC)

STM32复位和时钟控制(RCC)复位STM32F10xxx支持三种复位形式,分别为系统复位、电源复位和备份区域复位。
1、系统复位系统复位将所有寄存器设置成复位值,除了RCC_CSR(控制状态寄存器)中的相关复位标志位,通过查看RCC_CSR寄存器,可以识别复位源。
系统复位可由以下5种方式产生:1)外部引脚NRST复位(低电平触发);2)窗口看门狗(WWDG)计数终止3)独立看门狗(IDOG)计数终止4)软件复位(SW RESET),通过将中断应用和复位控制寄存器(Application Interrupt and Reset Control Register )中SYSRESETREQ位置1。
具体参考Cortex-M3 programming manual。
5)低功耗管理复位:①通过进入等待模式(StandBy)产生复位:通过User Option Bytes中设置nRST_STDBY位使能这种复位模式。
这时,即使执行了进入待机模式的过程,系统将被复位而不是进入待机模式。
②通过进入停止模式(STOP)产生复位:通过User Option Bytes中设置nRST_STOP位使能这种复位模式。
这时,即使执行了进入停止模式的过程,系统将被复位而不是进入停止模式。
2、电源复位电源复位设置所有寄存器置初始值,除了备份区域。
电源复位可由以下2种方式产生:1)上电复位和掉电复位(POR/PDR reset)2)退出等待(StandBy)模式这些复位源都作用在NRST引脚上,并且在复位延迟期间保持低电平。
提供给设备的系统复位信号都由NRST引脚输出,对每一个内部/外部复位源,脉冲发生器都将保证一个20us最小复位周期。
对于外部复位,当NRST位置低时,将产生复位信号。
3、备份区复位备份区复位仅仅影响被分区域,有以下两种产生方式:1)软件复位,设置备份区域控制寄存器RCC_BDCR BDRST= 1;2)在V DD和V BAT两者掉电的前提下,V DD或V BAT上电。
stm32时钟初始化函数rcc_configuration(void)[指南]
![stm32时钟初始化函数rcc_configuration(void)[指南]](https://img.taocdn.com/s3/m/c93d9d02a9114431b90d6c85ec3a87c240288a1b.png)
E rrorStatus HSE StartUpStatus; //什么意思?格式?您好:您出现这个问题的原因可能是你的程序里调用了一些标准C的函数,但这些函数在嵌入式C语言里是没有定义的,你需要对你调用的这些函数进行重新定义。
举个例子,例如你调用了标准C里面的printf函数,就会出现在你所说的错误,你需要在程序里对这个函数进行重定义或者直接删除。
GPIO_InitTypeDef GPIO_InitStructure;这句话什么意思声明一个结构体,名字是GPIO_InitStructure,结构体原型由GPIO_InitTypeDef 确定,stm32里面初始化GPIO用的吧。
设置完了GPIO_InitStruc ture里面的内容后在GPIO_Init (GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_InitStruct)里面调用,比如初始化pa口,就是GPIO_Init (GPIOA, &GPIO_InitStructure),括号里后面那个就是你问题里面声明的那个结构体1.函数RCC_DeInitTable 338. 函数RCC_DeInit(1)(2)函数名RCC_DeInit函数原形void RCC_DeInit(void)功能描述将外设RCC寄存器重设为缺省值输入参数无输出参数无返回值无先决条件无被调用函数无2. 15.2.2 函数RCC_HSEConfigTable 339. 描述了函数RCC_HSEConfig函数名RCC_HSEConfig函数原形void RCC_HSEConfig(u32 RCC_HSE)功能描述设置外部高速晶振(HSE)输入参数RCC_HSE: HSE的新状态参阅Section:RCC_HSE 查阅更多该参数允许取值范围输出参数无返回值无先决条件如果HSE被直接或者通过PLL用于系统时钟,那么它不能被停振被调用函数无3.RCC_HSE该参数设置了HSE的状态(见Table 340.)Table 340. RCC_HSE定义RCC_HSE描述RCC_HSE_OFFHSE晶振OFFRCC_HSE_ONHSE晶振ONRCC_HSE_BypassHSE晶振被外部时钟旁路3.HSE或LSE晶振/时钟被旁路是什么意思?楼主可以仔细看芯片资料,只有在使用外部时钟的时候是被旁路,注意不是晶体振荡器,也就是说当使用外部提供的时钟时(如使用有源振荡器),必须设置这个控制位旁路上述内置振荡器;可以理解把内部时钟关闭,打开外部时钟。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
复位
STM32F10xxx支持三种复位形式,分别为系统复位、电源复位和备份区域复位。
1、系统复位
系统复位将所有寄存器设置成复位值,除了RCC_CSR(控制状态寄存器)中的相关复位标志位,通过查看RCC_CSR寄存器,可以识别复位源。
系统复位可由以下5种方式产生:
1)外部引脚NRST复位(低电平触发);
2)窗口看门狗(WWDG)计数终止
3)独立看门狗(IDOG)计数终止
4)软件复位(SW RESET),通过将中断应用和复位控制寄存器
(Application Interrupt and Reset Control Register )中SYSRESETREQ位置1。
具体参考Cortex-M3 programming manual。
5)低功耗管理复位:
①通过进入等待模式(StandBy)产生复位:
通过User Option Bytes中设置nRST_STDBY位使能这种复
位模式。
这时,即使执行了进入待机模式的过程,系统将
被复位而不是进入待机模式。
②通过进入停止模式(STOP)产生复位:
通过User Option Bytes中设置nRST_STOP位使能这种复
位模式。
这时,即使执行了进入停止模式的过程,系统将
被复位而不是进入停止模式。
2、电源复位
电源复位设置所有寄存器置初始值,除了备份区域。
电源复位可由以下2种方式产生:
1)上电复位和掉电复位(POR/PDR reset)
2)退出等待(StandBy)模式
这些复位源都作用在NRST引脚上,并且在复位延迟期间保持低电平。
提供给设备的系统复位信号都由NRST引脚输出,对每一个内部/外部复位源,脉冲发生器都将保证一个20us最小复位周期。
对于外部复位,当NRST位置低时,将产生复位信号。
3、备份区复位
备份区复位仅仅影响被分区域,有以下两种产生方式:
1)软件复位,设置备份区域控制寄存器RCC_BDCR BDRST= 1;
2)在V DD和V BAT两者掉电的前提下,V DD或V BAT上电。
时钟
系统时钟(SYSCLK)可由3种时钟源驱动:
●内部高速震荡时钟(HSI)
●外部高速震荡时钟(HSE)
●PLL时钟
设备有如下2种二级时钟源:
●40KHz的内部低速RC震荡时钟(LSI),用来驱动独立看门狗
(IDOG)、或驱动用来从停止/等待模式中恢复的RTC时钟;
●32.768KHz的低速外部晶振时钟(LSE),用来驱动RTC时钟
以上5中时钟都可以独立的打开或关闭。
时钟树如下:
1、外部高速震荡时钟(HSE)
外部时钟信号来源:
①外部时钟信号。
在这种模式下,OSC_IN 接时钟输入信号,OSC_OUT
引脚悬空,输入信号是最高25Mhz的占空比是50%的方波、正弦波、三角波信号。
使能方式:RCC_CR→HSEBYP 和HSEON 置1
②外部晶体/陶瓷谐振产生信号,晶振频率范围在4~16Mhz。
通过
RCC_CR→ HSEON 可以开/关外部晶振
2、内部高速震荡时钟(HSI)
内部高速时钟由一个8MHz的RC震荡电路产生,能直接用作系
统时钟(SYSCLK)或2分频后作为PLL输入端信号。
HEI比HSE有跟快的启动延迟,但时钟信号不如HSE精确。
当HSE停止工作时,HSI自动为系统提供时钟。
通过RCC_CR→HSION
可以开/关内部时钟。
3、PLL时钟
PLL主要用来倍频内部高速时钟(HSI)和外部高速时钟(HSE)。
在是能PLL之前,需要选择PLL输入信号(HIS/2、HSE)、配置倍
频因子。
当在应用中使用USB接口时,PLL输出必须配置成48MHz
或72MHz。
4、外部低速时钟(LSE)
外部低速时钟信号由一个32.768KHz的低速外部谐振器产生,可以为RTC时钟/日历提供低功耗,高精确度的时钟信号。
可以通过发(Backup domain control register)RCC_BDCR LSEON 来控制LSE 的开关。
此外,外部低速时钟也可以通过旁路(bypass)产生,时钟周期最高位1MHz,具体配置流程可参照外部高速时钟(HSE)。
5、内部低速时钟(LSI)
内部低速时钟主要用来在停止(STOP)模式和等待(StandBy)模式为独立看门狗(IWDG)和自动唤醒单元(AWU)提供提供低功耗时钟信号,时钟信号在40KHz左右(30~60KHz之间)。
内部低速时钟可以通过人工校正,具体流程参见STM32参考手册Page87~88。
系统时钟(SYSCLK)
系统复位后,内部高速时钟(HSI)作为默认的系统时钟,当时钟源直接或通过PLL倍频后作为系统时钟源后,将不能被停止。
只有当目标始终源准备就绪(经过时钟开启延迟和PLL延迟),从一个时钟源切换到另一个时钟源才可能执行。
否则必须等到目标时钟准备好再执行。
在时钟控制寄存器(RCC_CR)里的状态位指示哪个时钟已经准备好了,哪个时钟目前被用作系统时钟。
RTC时钟
RTC时钟源可由HSE/128、LSE或LSI时钟提供。
通过修改备份
区控制寄存器RCC_BDCR→RTCSEL[1:0]来选择。
注意:除非复位备
份区,否则时钟选择后不能被修改。
LSE时钟在备份区,HSE和LSI不在。
1)如果LSE被选择作为RTC的时钟源,则当V DD掉电时,RTC不会
停止工作,只要V BAT仍然保持。
2)如果LSI被选择作为自动唤醒单元(AWU)的时钟源,则当V DD
掉电时,AWU的状态不能够被保证。
3)如果HSE的128分频作为RTC的时钟源,取消后备区写保护位要
置位:PWR_CR→DPB = 1(允许写入RTC和后备区寄存器)。
如
果VDD掉电,或者器件内部的电压调节器掉电时,RTC的状态不能被保证。
看门狗(Watchdog)时钟
如果独立看门狗已经由硬件选项或软件启动,LSI振荡器将被强制在打开状态,并且不能被关闭。
在LSI振荡器稳定后,时钟供应给IWDG。
时钟输出(Clock-Out)功能
时钟信号可由MCO 引脚对外输出,相应的GPIO端口寄存器必须被配置为相应功能。
通过配置RCC_CFGR→MCO[2:0]来选择输出时钟信号源:
1)系统时钟(SYSCLK)
2)外部高速时钟(HSE)
3)内部高速时钟(HSI)
4)PLL时钟2分频(PLL/2)。