初级会员
- 积分
- 115
- 金钱
- 115
- 注册时间
- 2015-7-1
- 在线时间
- 29 小时
|
1金钱
void clk_init_792MHZ(void)
{
if(0 == (((CCM->CCSR) >> 2) & 0x01) )//如果时钟主频是pll1_main_clk那么切换到备用
{
//first select osc_clk as step_clk CCSR:step_Sel
//seconde select step_Clk as pll1_sw_clk 这两步就把主频时钟切换为了备用的24MHZ的osc、
CCM->CCSR &= ~(1 << 8);
CCM->CCSR |= (1 << 2);
}
//主频切换成备用之后那么就开始修改主频 主频设置为792MHZ 然后一分频
//PLL output frequency = Fref * DIV_SEL/2 =792MHZ =24MHZ*DIV_SEL/2 DIV_SEL=66
CCM_ANALOG->PLL_ARM &= ~(0X7F);//低7位清0
CCM_ANALOG->PLL_ARM |= ((66 << 0)&(0x7F));//DIV_SEL=66
CCM->CACRR =0x00;//1分频
CCM_ANALOG->PLL_ARM |= (1 << 13); //打开时钟使能
CCM->CCSR &= ~(1 << 2);//重新把主频设置为 pll1_main_clk
}
无论怎么改分频和DIV_SEL 时钟频率都没有变化是怎么回事~
|
|