打印
[新手园地]

ddllxxrr笔记三:使用PLL

[复制链接]
2397|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
PLL, gp, IO, pi, GPIO
PLL是为了给高时钟的外设准备的,比如CAN,USB。
由于刚学还不可能涉及到那么深不过可以通过LED来使用它。
在时钟源选择控制寄存器0 (CLKSEL0)
有选择的定义



由于系统默认为外部的12MHZ晶振为系统时钟源,而这个时钟源正好能为PLL提供时钟输入,所以就不用改系统时钟而直接改HCLK_S的设置,只需一句就可实现PLL晶振。

那就是这句: SYSCLK->CLKSEL0.STCLK_S = 2;

以前的程序延时参数是1000,由于用PLL太快,下到板子上,LED一起亮。看不出运行没,所以我改为100000,这时可看出是依次亮灭。

#include <stdio.h>
#include "NUC1xx.h"
#include "DrvGPIO.h"
#include "DrvSYS.h"

int main (void)
{
UNLOCKREG();               
   
SYSCLK->CLKSEL0.STCLK_S = 2;

DrvSYS_Delay(5000);              
DrvGPIO_Open(E_GPB, 10, E_IO_OUTPUT);         //  设置GPB10端口为输出模式
DrvGPIO_ClrBit(E_GPB, 10);            //  清GPB10端口  蜂鸣器不叫唤
DrvGPIO_Open(E_GPA, 2, E_IO_OUTPUT);      
DrvGPIO_Open(E_GPA, 3, E_IO_OUTPUT);         
DrvGPIO_Open(E_GPA, 4, E_IO_OUTPUT);         
DrvGPIO_Open(E_GPA, 5, E_IO_OUTPUT);         

while(1)
{
  DrvGPIO_SetPortBits(E_GPA,0xfb);
  DrvSYS_Delay(100000);
  DrvGPIO_SetPortBits(E_GPA,0xf7);
  DrvSYS_Delay(100000);
  DrvGPIO_SetPortBits(E_GPA,0xef);
  DrvSYS_Delay(100000);
  DrvGPIO_SetPortBits(E_GPA,0xdf);
  DrvSYS_Delay(100000);
}


}

NUC test2.rar (2.29 MB)

相关帖子

沙发
wangjia2000| | 2011-9-29 12:32 | 只看该作者
PLL 可以单独输出吗

使用特权

评论回复
板凳
wangjia2000| | 2011-9-29 12:33 | 只看该作者
最高能输出多少?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:http://shop34182318.taobao.com/ http://shop562064536.taobao.com

2399

主题

6963

帖子

68

粉丝