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

开发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:\ti\controlSUITE\device_support\f2833x\v142\DSP2833x_common\source里边有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;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章