pll.c
来自「周立功代码移植,在AVR上,应用IARAVR编译通过」· C语言 代码 · 共 37 行
C
37 行
#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 + =
减小字号Ctrl + -
显示快捷键?