stm32 RCC-->CFGR=0X00000400;
时间: 2023-08-23 12:05:55 浏览: 236
这段代码使用的是 STM32 MCU 的 RCC(Reset and Clock Control)模块,对时钟系统进行配置。具体来说,0X00000400 是设置 PLL(Phase Locked Loop,相位锁定循环)时钟源为 HSE(High-Speed External)晶体振荡器,并且使 PLL 时钟频率为 HSE 频率乘以 4。该配置常用于需要高性能的应用场景。
相关问题
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; } }
这是一段 STM32 的初始化代码,它主要的功能是初始化系统时钟。其中,PLL 表示的是锁相环倍频器的倍数,通过设置 PLL 值来调整系统时钟频率。代码中还包括了外部高速时钟使能、等待外部时钟就绪、设置 APB1、APB2 和 AHB 总线的分频系数、等待 PLL 锁定等操作。最后,将 PLL 作为系统时钟并等待 PLL 作为系统时钟设置成功。
STM32 RCC->CFGR|=0x00000002;//PLL作为系统时钟 while(temp!=0x02) //等待PLL作为系统时钟设置成功 { temp=RCC->CFGR>>2; temp&=0x03; }
这是STM32的代码,主要是设置PLL作为系统时钟,并等待PLL设置成功。具体来说,这段代码将PLL作为系统时钟,并通过循环等待确认PLL设置成功。
首先,`RCC->CFGR` 是RCC寄存器的配置寄存器,用于配置系统时钟。`CFGR|=0x00000002` 表示将PLL作为系统时钟源。
接着,进入一个循环,条件是 `temp!=0x02`。在循环体内,先读取 `RCC->CFGR`,然后将其右移两位(因为PLL的时钟源位于CFGR的位2和位3)。接着,使用位掩码操作将`temp`设置为CFGR中的PLL时钟源位,并检查其是否等于0x02。如果不是,则继续循环等待。如果是,则说明PLL已成功设置为系统时钟源,退出循环。
总的来说,这段代码的作用是确保系统时钟源已经切换到PLL,并等待PLL设置成功。
阅读全文