📄 pll.c
字号:
#include <iolpc2148.h>
// 根据电路板上晶振设置振荡器频率
#define OSCILLATOR_CLOCK_FREQUENCY 12000000 //in MHz
unsigned int GetCclk(void) { // 获得实际处理器时钟频率
return OSCILLATOR_CLOCK_FREQUENCY * (PLLCON & 1 ? (PLLCFG & 0xF) + 1 : 1);
}
//这个设置系统时钟是60MHz
void PLLInit(void)
{
PLLCFG_bit.MSEL=0x4; //设定倍频
PLLCFG_bit.PSEL=0x1; //设定分频
PLLFEED_bit.FEED=0xAA; //PLL馈送
PLLFEED_bit.FEED=0x55;
PLLCON_bit.PLLE=1; //使能PLL
PLLFEED_bit.FEED=0xAA;
PLLFEED_bit.FEED=0x55;
while(PLLSTAT_bit.PLOCK==0); //PLL等待PLL锁定 必要时可除去
PLLCON_bit.PLLC=1; //PLL连接到系统
PLLFEED_bit.FEED=0xAA;
PLLFEED_bit.FEED=0x55;
}
/********************************************************/
//系统12MHZ,MSEL=0x0 PSEL=0x3
//系统24MHz,MSEL=0x1 PSEL=0x2
//系统48MHz,MSEL=0x3 PSEL=0x1
//系统60MHZ,MSEL=0x4 PSEL=0x1 或0x00
/*******************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -