DSP

F28335的InitSysCtrl()与DSP2833x_SysCtrl.c文件(1)

2019-07-13 12:10发布

开发DSP除了CCS之外,TI还推出了一个controlSUITE,专门针对C2000系列,主要是官网资源的集中和分类。软件免费只需要下载安装,由于不喜欢被别人加工注释了代码与工程,所以controlSUITE是个不错的选择。而且里边是TI原装的东西,所以应该是最精华的!打开28335的几个例子,main函数第一个调用的就是InitSysCtrl(),而该函数就在DSP2833x_SysCtrl.c文件,// Step 1. Initialize System Control:
// PLL, WatchDog, enable Peripheral Clocks
// This example function is found in the DSP2833x_SysCtrl.c file.
   InitSysCtrl()
所以工程里边必须包含DSP2833x_SysCtrl.c。打开C: icontrolSUITEdevice_supportf2833xv142DSP2833x_commonsource里边有DSP2833x_SysCtrl.c其实在main函数里边对InitSysCtrl()的作用已经说了:初始换系统控制:具体包括PLL,看门狗,使能外设时钟。由于是官方例子,就是套路,不用问为什么这么做,因为TI就是这样做的。进入DSP2833x_SysCtrl.c//---------------------------------------------------------------------------
// InitSysCtrl:
//---------------------------------------------------------------------------
// This function initializes the System Control registers to a known state.
// - Disables the watchdog
// - Set the PLLCR for proper SYSCLKOUT frequency
// - Set the pre-scaler for the high and low frequency peripheral clocks
// - Enable the clocks to the peripherals在这里主要干的事情有:关掉看门狗,设置锁相环,为外设设置高低频时钟,使能时钟。void DisableDog(void)
{
    EALLOW;
    SysCtrlRegs.WDCR= 0x0068;
    EDIS;
}突然发现,datasheet里边没有看门狗的寄存器介绍,虽然手册里有讲看门狗的工作原理,头文件里也有看门狗寄存器的定义。先记下,但是关闭看门狗就一句话:SysCtrlRegs.WDCR= 0x0068;