XIVN1987 发表于 2011-11-23 20:02:13

求教: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无法稳定

请问有哪位大侠知道原因吗???

XIVN1987 发表于 2011-11-23 20:16:16

唉!原因找到了,怪我太粗心啊!!!想当然了!!!

http://cache.amobbs.com/bbs_upload782111/files_48/ourdev_698384WKJ0W0.jpg
(原文件名:QQ截图20111123201640.jpg)

OE位 =0      为使能PLL_OUT               
OE位 =1      为PLL_OUT为低电平

our2008 发表于 2013-3-23 15:03:32

我也遇到这个问题.主要是仿真调试时,停在while(SYSCLK->CLKSTATUS.PLL_STB == 0);这一句,
烧写在片子里没问题.
页: [1]
查看完整版本: 求教:M051 PLL启动不成功!!!