void INIT_PLL() {
CPMUOSC=0XA0; //振荡器配置
CPMUCLKS = 0x5f;//初始化设置OSCCLK作为系统时钟
CPMUPLL = 0x00;//初始化
CPMUPROT =0x00;//时钟配置寄存器保护,避免被改写:0停止保护,1使能保护
#if(BUS_CLOCK == 48000000) //fvoc配置 fvoc = 2xfrefx(SYNDIV +1)
CPMUSYNR = 0x45;
#elif(BUS_CLOCK == 40000000)
CPMUSYNR = 0x44;
#elif(BUS_CLOCK == 32000000)
CPMUSYNR = 0x43;
#elif(BUS_CLOCK == 24000000)
CPMUSYNR = 0x42;
#elif(BUS_CLOCK == 16000000)
CPMUSYNR = 0x01;
#endif
CPMUREFDIV = 0x81;//REFDIV基准分频器配置
CPMUPOSTDIV =0x00;//post分频器配置
asm nop;
asm nop;
while(!(CPMUFLG & 0x08))//标志位配置
CPMUCLKS |= 0x80;//设置PLLCLK为系统时钟
}
CPMUOSC=0XA0; //振荡器配置
CPMUCLKS = 0x5f;//初始化设置OSCCLK作为系统时钟
CPMUPLL = 0x00;//初始化
CPMUPROT =0x00;//时钟配置寄存器保护,避免被改写:0停止保护,1使能保护
#if(BUS_CLOCK == 48000000) //fvoc配置 fvoc = 2xfrefx(SYNDIV +1)
CPMUSYNR = 0x45;
#elif(BUS_CLOCK == 40000000)
CPMUSYNR = 0x44;
#elif(BUS_CLOCK == 32000000)
CPMUSYNR = 0x43;
#elif(BUS_CLOCK == 24000000)
CPMUSYNR = 0x42;
#elif(BUS_CLOCK == 16000000)
CPMUSYNR = 0x01;
#endif
CPMUREFDIV = 0x81;//REFDIV基准分频器配置
CPMUPOSTDIV =0x00;//post分频器配置
asm nop;
asm nop;
while(!(CPMUFLG & 0x08))//标志位配置
CPMUCLKS |= 0x80;//设置PLLCLK为系统时钟
}