DSP第06章时钟及看门狗页码图文精.docx
《DSP第06章时钟及看门狗页码图文精.docx》由会员分享,可在线阅读,更多相关《DSP第06章时钟及看门狗页码图文精.docx(18页珍藏版)》请在冰豆网上搜索。
DSP第06章时钟及看门狗页码图文精
//Step5、用户特定函数,重新分配向量(可选择),使能中断:
//重新为WAKEINT分配PIE向量,并指向相应的中断服务程序EALLOW;PieVectTable.WAKEINT=&wakeint_isr;EDIS;//使能WAKEINT的中断INT1IER|=M_INT1;//使能PieCtrlRegs.PIEIER1.bit.INTx8=1;//对程序状态寄存器进行操作,避免清除WDOVERRIDE标识位EALLOW;SysCtrlRegs.SCSR.all=BIT1;EDIS;//计数器清零WakeCount=0;//中断计数LoopCount=0;//循环计数BP10636
//使能全局中断,并配置为real-timedebug模式EINT;//使能全局中断INTMERTM;//使能全局realtime中断DBGM//Step6、主循环for(;;{LoopCount++;//用KickDog操作看门狗Key寄存器,避免产生WAKEINT中断//通常情况下,需要在主循环或定时中断中对Key进行操作KickDog(;}}WAKEINT:
位于PIE的组1的第8中断BP10637
//Step7、中断服务程序interruptvoidwakeint_isr(void{WakeCount++;//响应中断PieCtrlRegs.PIEACK.all=PIEACK_GROUP1;}//--------------------------------------------------------------------------//KickDog:
此函数复位看门狗定时器voidKickDog(void{EALLOW;SysCtrlRegs.WDKEY=0x0055;SysCtrlRegs.WDKEY=0x00AA;EDIS;}BP10738
voidInitSysCtrl(void//系统初始化{Uint16i;EALLOW;//禁止看门狗模块//SysCtrlRegs.WDCR=0x0068;//本例中不使用//初始化锁相环SysCtrlRegs.PLLCR=0xA;//等待锁相环稳定for(i=0;i<5000;i++{}//HISPCP/LOSPCP预定标寄存器设置SysCtrlRegs.HISPCP.all=0x0001;SysCtrlRegs.LOSPCP.all=0x0002;//使能选择的外设时钟//对于不用的时钟,一般情况下需要禁止相应的中断SysCtrlRegs.PCLKCR.bit.EVAENCLK=1;SysCtrlRegs.PCLKCR.bit.EVBENCLK=1;SysCtrlRegs.PCLKCR.bit.SCIENCLKA=1;//SysCtrlRegs.PCLKCR.bit.SCIENCLKB=1;EDIS;BP107}39