求教:M051 PLL启动不成功!!!
RegLock_Un();SYSCLK->PWRCON.XTL12M_EN = 1;
while(SYSCLK->CLKSTATUS.XTL12M_STB == 0); //等待XTAL时钟稳定
SYSCLK->PLLCON.PLL_SRC = 1; //PLL 时钟源选择XTAL
SYSCLK->PLLCON.IN_DV = 1;
SYSCLK->PLLCON.FB_DV = 46;
SYSCLK->PLLCON.OUT_DV = 3; //PLL输出频率:12MHz/(1+2)*(46+2)/4 = 48MHz
SYSCLK->PLLCON.PD = 0; //Power Down
SYSCLK->PLLCON.BP = 0; //ByPass
SYSCLK->PLLCON.OE = 1; //PLL 时钟输出使能
while(SYSCLK->CLKSTATUS.PLL_STB == 0); //等待PLL 时钟输出稳定
SYSCLK->CLKSEL0.HCLK_S = 2; //系统时钟源:选择PLL
SYSCLK->CLKSEL0.STCLK_S = 3; //SysTick时钟源选择HCLK/2
RegLock_Do();
代码如上,程序一直停留在while(SYSCLK->CLKSTATUS.PLL_STB == 0);这一句,PLL无法稳定
请问有哪位大侠知道原因吗??? 唉!原因找到了,怪我太粗心啊!!!想当然了!!!
http://cache.amobbs.com/bbs_upload782111/files_48/ourdev_698384WKJ0W0.jpg
(原文件名:QQ截图20111123201640.jpg)
OE位 =0 为使能PLL_OUT
OE位 =1 为PLL_OUT为低电平 我也遇到这个问题.主要是仿真调试时,停在while(SYSCLK->CLKSTATUS.PLL_STB == 0);这一句,
烧写在片子里没问题.
页:
[1]