定时器对一般的控制器和DSP芯片来说是一个基本的外设,C2000系列DSP的定时器操作方法基本上差不多,就以28335的定时器0为例,说下其使用。
定时器0使用
(1)首先应打开Timer的时钟使能 SysCtrlRegs.PCLKCR3.bit.CPUTIMER0ENCLK = 1; // CPU Timer 0
(2)在主程序添加外设中断句柄 (a)使能定时器中断TCR寄存器(b)IER|=M_INT1;使能连接的INT1中断;(c)PieCtrlRegs.PIEIER1.bit.INTx7=1;使能TINT0,1组中第7中断;
(3)初始化时钟:包括初始化Timer0定时器指向相应的地址;定时周期设定;定时器时钟配置,定时器分频设定,可概括为InitCpuTimers();
(4)配置Timer0,即为ConfigCpuTimer(&CpuTimer0, 150, 500000);
(5)开中断EINT;ERTM;
(6)开定时器:CpuTimer0Regs.TCR.bit.TSS=0;
(7)中断响应函数中需要:PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;