1,使能定时器模块的时钟(必须先使能时钟,再操作定时器模块寄存器)
在void InitPeripheralClocks(void)函数中:
SysCtrlRegs.PCLKCR3.bit.CPUTIMER0ENCLK = 1; // CPU Timer 0
SysCtrlRegs.PCLKCR3.bit.CPUTIMER1ENCLK = 1; // CPU Timer 1
SysCtrlRegs.PCLKCR3.bit.CPUTIMER2ENCLK = 1; // CPU Timer 2
2,初始化定时器模块寄存器及使能PIE级中断
2.1,在InitCpuTimer0函数中,
ConfigCpuTimer(&CpuTimer0Regs, Freq,Period);// 100us
IER |= M_INT1;//enable group interrupt
PieCtrlRegs.PIEIER1.bit.INTx7= 1;// Enable TINT0 in the PIE: Group 1 interrupt 7
StartCpuTimer0();
2.2,在InitCpuTimer1函数中,
ConfigCpuTimer(&CpuTimer1Regs, Freq,Period);
IER |= M_INT13;//enable group interrupt
//timer1 has no PIE level interrupt control
StartCpuTimer1();

本文详细介绍在DSP2833x中如何配置CPUTimer0和CPUTimer1的中断,包括使能时钟、初始化定时器寄存器、使能中断、配置PIE级中断及中断服务函数的编写。特别强调了Timer0和Timer1在中断使能上的差异。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



