|
void pll0_init(void)
{
//使能pll0
PLL0CON = 0x01;
//VPB设备频率,字节寄存器,00对应于处理器时钟的1/4,01与处理器时钟相同,10对应于处理器时钟的1/2,写11无效,复位值为00
VPBDIV = 0x01;
//配置分频倍频值,字节寄存器
PLL0CFG = 0x23;
PLL0FEED = 0xaa;
PLL0FEED = 0x55;
//等待pll0锁定
while((PLL0STAT & (1 << 10)) == 0);
//连接pll0,字节寄存器
PLL0CON = 0x03;
PLL0FEED = 0xaa;
PLL0FEED = 0x55;
}
使用12M晶振,想把系统时钟倍频到48M,怎么LED闪烁速度好像没变化多少呢??开发环境是MDK。
主程序:
int main(void)
{
pll0_init0();
PINSEL0 = 0x00000000;//将端口连接到GIO功能,清零。置位对应特定第二第三功能
PINSEL1 = 0x00000000;
IO0DIR |= LEDALL;//将LED端口设置为输出,置位
while(1)
{
IO0SET = LEDALL;
delay(3000000);
IO0CLR = LEDALL;
delay(3000000);
}
} |
|