DSP

void InitSysCtrl(void)

2019-07-13 15:42发布

void InitSysCtrl(void)

对这个函数的一点解释:   // Disable watchdog module    SysCtrlRegs.WDCR=0x0068;      关看门狗   // Initalize PLL
   SysCtrlRegs.PLLCR = 0xA;      CLKIN=(OSCCLK*10.0)/2 
此指令将PLL使能
   // Wait for PLL to lock
   for(i= 0; i< 5000; i++){}       
延时,等待PLL使能(直译为 锁相环上锁。。哈哈)
      
// HISPCP/LOSPCP prescale register settings, normally it will be set to default values
   SysCtrlRegs.HISPCP.all = 0x0001;     
高速时钟定标HSPCLK=SYSCLKOUT/HISPCP*2
   SysCtrlRegs.LOSPCP.all = 0x0002;    
低速时钟定标LSPCLK=SYSCLKOUT/LOSPCP*2
// Peripheral clock enables set for the selected peripherals.  
//   SysCtrlRegs.PCLKCR.bit.EVAENCLK=1;
   SysCtrlRegs.PCLKCR.bit.EVBENCLK=1; EV-B
外设高速时钟有效
//   SysCtrlRegs.PCLKCR.bit.SCIENCLKA=1;
// SysCtrlRegs.PCLKCR.bit.SCIENCLKB=1;
//   SysCtrlRegs.PCLKCR.bit.SPIENCLK=1;
    需要考察下EV是如何工作的,很显然这里用外部AD转换结束信号驱动事件管理器B