飞思卡尔S9s12G128 PLL时钟配置

来源:互联网 发布:淘宝助理宝贝描述红叉 编辑:程序博客网 时间:2024/06/05 17:30
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为系统时钟
 }
原创粉丝点击