请教高手门一个PLL倍增问题
void Stm32_Clock_Init(u8   LL) // 如果PLL=9;
{
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个单位 //这是什么意思哦!!!!!!!!!!!
/// 这儿后,PLL=6 对吗?
RCC->CFGR|=PLL<<18; //设置PLL值 2~16
// 这儿后,倍增查表后得知为8倍
//  ??????????????????????????????????????????
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;
}
}
帮我看 一下,这个是外部8M晶振,如果Stm32_Clock_Init(9),这个是倍增了9倍还是6或是8倍?谢谢 到最后CPU的实际时钟是多少?
|