首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

PLL设置问题,要倍频该如何设置?

PLL设置问题,要倍频该如何设置?

用PLL进行倍频该如何设置,以下是自己写的代码,没起到倍频的作用,该如何改?


  SYNR = 0;
  REFDV = 15;
  PLLCTL_PLLON = 1;
  while (!(CRGFLG & 0x08));  //等待时钟频率已稳定锁相环频率已锁定
  CLKSEL=0x80;        //选定所相环时钟


程序执行到while (!(CRGFLG & 0x08));就出不去了,好象是LOCK没锁定。晶振11.0592M。

迷途的羔羊!
什么芯片?
海纳百川  有容乃大
HC12系列的,MC9S12A512
迷途的羔羊!
谢谢斑竹!!那个SYNR不能为0,为0就死在while(!CRGFLG_LOCK) {};
迷途的羔羊!
SYNR应该是可以为0的。
海纳百川  有容乃大

CLKSEL = 0; /* Select clock source from XTAL and set bits in CLKSEL reg. */
/* PLLCTL: PLLON=0 */
PLLCTL &= 0x40; /* Disable the PLL */
/* SYNR: ??=0,??=0,SYN5=0,SYN4=0,SYN3=0,SYN2=0,SYN1=0,SYN0=1 */
SYNR = 1; /* Set the multiplier register */
/* REFDV: ??=0,??=0,??=0,??=0,REFDV3=0,REFDV2=0,REFDV1=0,REFDV0=0 */
REFDV = 0; /* Set the divider register */
/* PLLCTL: CME=0,PLLON=1,AUTO=1,ACQ=1,??=0,PRE=0,PCE=0,SCME=0 */
PLLCTL = 0x70;
while(!CRGFLG_LOCK) {}; /* Wait */
/* CLKSEL: PLLSEL=1 */
CLKSEL = 0x80; /* Select clock source from PLL */

//此时PLL的输出频率为44.2368,总线频率为22.1184。

[此贴子已经被strongchen于2006-9-22 12:26:40编辑过]

海纳百川  有容乃大

还是觉得老大的有道理,应该可以为0

返回列表