173 2438 5004
KEROS加密芯片——品牌直销 | 免费样品 | 技术支持
当前位置:网站首页 > 资讯中心 正文 资讯中心

stm32时钟初始化库函数

keros@mark 2023-03-18 资讯中心

STM32 中 RTC_Init()是库函数吗?

你说的是3.0以上的固件库吗?

SystemInit()函数在主程序中被RCC_Configuration()函数调用,完成系统时钟的配置功能。我看过这个函数的具体内容,是直接操作寄存器来完成配置。如果使用stm32f10x_rcc.c文件中的函数来完成时钟配置,和SystemInit()的顺序和效果一样。

当然,为了保证兼容性,使低版本固件库写的程序运行,就还有stm32f10x_rcc.c存在,像早期版本的RCC_Configuration()函数就是使用这个文件中提供的函数来完成时钟配置的。

补充:是的,Systeminit()函数完成了时钟初始化的功能。另外systick的使用也变简单了,以前要几个函数完成初始化,现在只要一个就行。

你看看3.0版本固件system_stm32f10x.c中的代码是怎样的吧。其中是对RCC寄存器直接赋值操作,和stm32f10x_rcc.c中相关的函数作用一样。

如果在程序中要使用端口、外设等,由于这些东西需要时钟才能工作,所以还是需要stm32f10x_rcc.c中的函数来完成时钟的控制。

stm32在库函数3.5时钟频率怎么设置

先定义你所用的芯片类型,然后主程序调用SystemInit();初始化系统时钟为72M,然后用RCC库函数配置外设时钟。

STM32初始化时钟函数中最后两句temp=RCC->CFGR>>2; temp&=0x03;怎么理解

temp=RCC-CFGR2;

这个的意思是读取RCC-CFGR寄存器的值,然后将其右移2位后再保存在temp变量中。

temp=0x03;

这个的意思是除了最低两位保留之外,其他位清除。

这两个位(实际就是是RCC-CFGR寄存器的3:2位),名字是SWS[1:0],在参考手册上的解释是:

SWS[1:0]:系统时钟切换状态 (System clock switch status) 由硬件置’1’ 或清’0’ 来指示哪一个时钟源被作为系统时钟。

00:HSI作为系统时钟;

01:HSE作为系统时钟;

10:PLL 输出作为系统时钟;

11:不可用。

就是说当判断结果为2时,表示PLL输出已经稳定。

本文标签:stm32时钟初始化库函数

产品列表
产品封装
友情链接