⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pll.c

📁 周立功代码移植,在AVR上,应用IARAVR编译通过
💻 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 + -