智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 2556|回复: 2
打印 上一主题 下一主题

倍频

[复制链接]

0

主题

32

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
356
威望
220
贡献
22
兑换币
0
注册时间
2009-3-3
在线时间
57 小时
跳转到指定楼层
1#
发表于 2009-5-16 14:25:15 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
void SysClk_Init()            //初始化锁相环64MHz
{
  CLKSEL=0x00;              //disengage PLL to system
  PLLCTL_PLLON=1;           //turn on PLL
  SYNR=3;         
  REFDV=1;                  //pllclock=2*osc*(1+SYNR)/(1+REFDV)=64MHz;
  while(!(CRGFLG_LOCK==1)); //等待系统时钟稳定
  CLKSEL_PLLSEL =1;         //选择PLL时钟作为系统时钟now pll_clk=64M and the Bus clk=32M   
}

void SysClk_Init()            //初始化锁相环64MHz
{
  CLKSEL=0x00;              //disengage PLL to system
  PLLCTL_PLLON=1;           //turn on PLL
  SYNR=7;         
  REFDV=3;                  //pllclock=2*osc*(1+SYNR)/(1+REFDV)=64MHz;
  while(!(CRGFLG_LOCK==1)); //等待系统时钟稳定
  CLKSEL_PLLSEL =1;         //选择PLL时钟作为系统时钟now pll_clk=64M and the Bus clk=32M   
}
这两种设置有差别吗?

21

主题

1019

帖子

0

精华

常驻嘉宾

我爱雯婕

Rank: 8Rank: 8

积分
4657
威望
2223
贡献
1682
兑换币
4
注册时间
2009-3-4
在线时间
376 小时
3#
发表于 2009-5-17 00:54:08 | 只看该作者
用这个爽,C中嵌套汇编,更快
void Start_PLL(void)   //busCLK=32M
{
  REFDV=0x01;          // PLLCLK =2*OSCCLK*(SYNR + 1)/(REFDV + 1)
  SYNR=0x03;                 //        =2*16M*3/2=64M
  asm{
    BRCLR CRGFLG,#$08,*
    BSET CLKSEL,#$80
    }                                                                                                          
}
回复 支持 反对

使用道具 举报

0

主题

30

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
238
威望
202
贡献
22
兑换币
0
注册时间
2009-4-14
在线时间
7 小时
2#
发表于 2009-5-16 17:28:33 | 只看该作者
我觉得一样,结果一样,就是实现的途径不一样
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-29 20:21 , Processed in 0.043110 second(s), 29 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表