STM32 void Stm32_Clock_Init(u8 PLL) { unsigned char temp=0; MYRCC_DeInit(); //复位并配置向量表 RCC->CR|=0x00010000; //外部高速时钟使能HSEON while(!(RCC->CR>>17));//等待外部时钟就绪 RCC->CFGR=0X00000400; //APB1=DIV2;APB2=DIV1;AHB=DIV1; PLL-=2; //抵消2个单位(因为是从2开始的,设置0就是2) RCC->CFGR|=PLL<<18; //设置PLL值 2~16 RCC->CFGR|=1<<16; //PLLSRC ON FLASH->ACR|=0x32; //FLASH 2个延时周期 RCC->CR|=0x01000000; //PLLON while(!(RCC->CR>>25));//等待PLL锁定 RCC->CFGR|=0x00000002;//PLL作为系统时钟 while(temp!=0x02) //等待PLL作为系统时钟设置成功 { temp=RCC->CFGR>>2; temp&=0x03; } }
时间: 2024-01-20 20:01:52 浏览: 45
这是一段 STM32 的初始化代码,它主要的功能是初始化系统时钟。其中,PLL 表示的是锁相环倍频器的倍数,通过设置 PLL 值来调整系统时钟频率。代码中还包括了外部高速时钟使能、等待外部时钟就绪、设置 APB1、APB2 和 AHB 总线的分频系数、等待 PLL 锁定等操作。最后,将 PLL 作为系统时钟并等待 PLL 作为系统时钟设置成功。
相关问题
Stm32_Clock_Init函数初始化
Stm32_Clock_Init函数是用来初始化STM32微控制器的时钟系统的。通过调用该函数,我们可以配置和启动STM32的各个时钟源和时钟分频器,以满足不同应用场景的需求。
具体来说,Stm32_Clock_Init函数可以执行以下操作:
1. 配置主时钟源(HSI、HSE、PLL等)和时钟分频器(AHB、APB1、APB2等)的参数。
2. 启动主时钟源和时钟分频器。
3. 等待时钟稳定,确保时钟系统正常工作。
4. 配置系统滴答定时器(SysTick)的时钟源和中断周期。
通过调用Stm32_Clock_Init函数,我们可以根据具体需求来配置STM32的时钟系统,以便在后续的应用中正常运行。
stm32f4xx_clock_configuration_v1.1.0
stm32f4xx_clock_configuration_v1.1.0是一个用于配置STM32F4系列微控制器时钟的软件库版本。这个软件库是为了简化STM32F4系列微控制器的时钟配置而开发的,使用户能够更加方便地设置和管理微控制器的时钟系统。
STM32F4系列微控制器有多个时钟源和时钟分频器,可以提供不同频率的时钟信号。通过配置这些时钟源和分频器,可以满足不同应用的时钟需求。而stm32f4xx_clock_configuration_v1.1.0就是为了简化这个过程而推出的。
在使用stm32f4xx_clock_configuration_v1.1.0进行时钟配置时,用户只需按照相关的函数接口文档进行调用即可完成配置。该软件库提供了一系列的函数,如设置系统时钟频率、配置PLL锁相环、配置时钟源等等。通过调用这些函数,用户可以灵活地配置微控制器的时钟系统,以满足特定应用的需求。
另外,stm32f4xx_clock_configuration_v1.1.0还提供了一些工具函数和示例代码,以帮助用户更好地理解和应用这个软件库。通过这些工具函数和示例代码,用户可以更快地上手并使用stm32f4xx_clock_configuration_v1.1.0进行时钟配置。
总的来说,stm32f4xx_clock_configuration_v1.1.0是一个方便实用的软件库,可以帮助用户更加轻松地配置STM32F4系列微控制器的时钟系统,提高开发效率。