//步骤1. 初始化系统控制:
// PLL,看门狗,启用外设时钟
//此示例函数位于DSP2833x_sysctrl.c文件中。
InitSysCtrl();
//步骤2. 初始化GPIO:
//此示例函数可在DSP2833x_GPIO.c文件和中找到
//说明了如何将GPIO设置为其默认状态。
// InitGpio();//跳过此示例
//步骤3. 清除所有中断并初始化PIE矢量表:
//禁用CPU中断
色调;
//将PIE控制寄存器初始化到其默认状态。
//默认状态是禁用所有PIE中断和标志
//被清除。
//此函数位于DSP2833x_PIECTRL.c文件中。
InitPieCtrl();
//禁用CPU中断并清除所有CPU中断标志:
IER = 0x0000;
IFR = 0x0000;
//使用指向外壳中断的指针初始化PIE矢量表
//服务例程(ISR)。
//这将填充整个表,即使中断也是如此
//在本例中不使用。 这对于调试非常有用。
// shell ISR例程可在DSP2833x_DefaultIsr.C.中找到
//此函数位于DSP2833x_PieVect.C.中
//InitPieVectorTable();
//将看门狗连接到PIE的WAKEINT中断
//写入整个SCSR寄存器以避免清除WDOVERRIDE位
EALLOW;
// SysCtrlRegs.SCSR = 0;
EDIS;
//本示例中使用的中断被重新映射到
//此文件中找到ISR函数。
EALLOW;//这是写入EALLOW保护寄存器所必需的
PieVectorTable.WAKEINT =&WAKEINT_ISR;
EDIS;//这是禁用写入EALLOW保护寄存器所必需的
//步骤4. 初始化所有设备外围设备:
//此函数位于DSP2833x_InitPeripherals.c中
// InitPeripherals();//本示例不需要
//步骤5. 用户特定代码,启用中断:
//清除计数器
WakeCount = 0;//计数中断
LoopCount = 0;//通过空闲循环计算时间
//在PIE中启用WAKEINT:组1中断8
//启用连接到WAKEINT的INT1:
PieCtrlRegs.PIECTRL.bit.ENPIE =1;//启用PIE块
PieCtrlRegs.PIEIER1.bit.INTx8 = 1;//启用PIE gropu 1 INT8
IER || M_INT1;//启用CPU INT1
EINT;//启用全局中断
//重置看门狗计数器
ServiceDog ();
EALLOW;
SysCtrlRegs.SCSR = 0;
EDIS;
//启用看门狗
EALLOW;
SysCtrlRegs.WDCR = 0x002F;
EDIS;
