一、CPU定时器 Timer
二、CPU定时器寄存器 CpuTimer0Regs
1.定时器计数器 TIM
2.定时器周期寄存器 PRD
3.定时器预定标寄存器-高 TPRH
(1)预定标计数器-高 PSCH
与PSC相同
(2)定时器分频器-高 TDDRH
与TDDR相同
4.定时器预定标寄存器-低 TPR
(1)预定标计数器-低 PSC
(2)定时器分频器-低 TDDR
5.定时器控制寄存器 TCR
三、代码
void TIMER0_Init(float Freq, float Period)
{
EALLOW;
// 使能定时器0的时钟
SysCtrlRegs.PCLKCR3.bit.CPUTIMER0ENCLK = 1;
//指定中断向量表中Timer 0的中断服务函数地址
PieVectTable.TINT0 = &TIMER0_IRQn;
//初始化CPU定时器
InitCpuTimers();
//配置CPU定时器
ConfigCpuTimer(&CpuTimer0, Freq, Period);
/* 该函数有3个参数,第1个表示选择定时器0/1/2,
第2个表示定时器频率,第3个表示定时器周期 */
//打开定时器0
CpuTimer0Regs.TCR.bit.TSS=0;
//使能中断
PieCtrlRegs.PIEIER1.bit.INTx7 = 1;
IER |= M_INT1;
EINT;
ERTM;
EDIS;
}
interrupt void TIMER0_IRQn(void)
{
EALLOW;
LED2_TOGGLE;
PieCtrlRegs.PIEACK.bit.ACK1=1;
EDIS;
}
标签:定时器,中断,void,TIMER0,Timer,寄存器,bit,CPU
From: https://blog.csdn.net/2301_78976182/article/details/139420092