DSP F28335 定时器

TMS28335一共有3个32位的CPU定时器。其中Timer0、Timer1可以供用户独立使用。Timer2用来,Timer2是为操作系统DSP/BIOS保留的,当未移植操作系统时,可用来做普通的定时器。这三个定时器的中断信号分别是TINT0、TINT1、TINT2.相关结构和寄存器如下表所示
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
定时器设置流程:
1.设定定时器的分频系数,确定定时周期。分频系数是由预分频模块来实现完成,预分频模块包括一个16位的定时器分频寄存器(TDDRH:TDDR)和一个16位的预定标计数器(PSCH:PSC)。
工作原理是:当系统时钟(SYSCLKOUT)来一个脉冲,PSCH:PSC预定标计数器减1,当PSCH:PSC预定标计数器减到0的时候,预定标计数器产生下溢后向定时器的32位计数器TIMH:TIM借位,即TIMH:TIM计数器减1,同时PSCH:PSC预定标计数器重新加载定时器分频寄存器(TDDRH:TDDR)完成一个定时周期。
2.设定定时的时间,及设定多少个定时周期为定时时间。定时周期是由定时/计数模块完成,定时/计数模块包括一个32位的周期寄存器(PRDH:PRD)和一个32位的计数寄存器(TIMH:TIM)。
工作原理:计数寄存器TIMH:TIM每次减1,当计数寄存器TIMH:TIM减到0产生下溢的时候,计数寄存器会重载周期寄存器(PRDH:PRD)的值,同时定时器会产生一个中断信号给CPU,完成一次定时处理。
3.定时中断的相关配置TIMER0TCR
①.TIF:中断标志位:当计数器减到0的时候,该位自动置1,写1清零。
②.TIE 定时器使能位:写0禁止,写1使能;当写1使能,且当计数器减到0时,将会向CPU申请中断请求。
③.FREE、SOFT:这两位是仿真模式位,决定了在高级语言仿真中遇到断点时定时器的状态。如果FREE位为1,则在遇到断点的时候,定时器继续运行(自由运行)。在这种情况下,不管SOFT位的状态;若FREE为0,当SOFT是0则立马停止计数;当SOFT是1则当(TIMH:TIM)减到0的时候停止计数。
④.TRB重装位:写1的时候将PRDH:PRD的值装载到TIMH:TIM,将TDDRH:TDDR的值装载到PSCH:PSC。读取该位时,总是0。
⑤.TSS: 停止状态位:写0开始计数,置1停止计数。当复位时,该位为0,立即开始计数。
定时器初始化:
void TIM0_Init(float Freq, float Period)
{
EALLOW;
SysCtrlRegs.PCLKCR3.bit.CPUTIMER0ENCLK = 1; //使能定时器timer0时钟
EDIS;
EALLOW;
PieVectTable.TINT0 = &TIM0_IRQn; //设置定时器0的中断服务函数
EDIS;
//指向定时器0的寄存器地址
CpuTimer0.RegsAddr = &CpuTimer0Regs;
//设置定时器0的周期寄存器值
CpuTimer0Regs.PRD.all = 0xFFFFFFFF;
//设置定时器预定标计数器值为0
CpuTimer0Regs.TPR.all = 0;
CpuTimer0Regs.TPRH.all = 0;
//确保定时器0为停止状态
CpuTimer0Regs.TCR.bit.TSS = 1;
//重载使能
CpuTimer0Regs.TCR.bit.TRB = 1;
// Reset interrupt counters:
CpuTimer0.InterruptCount = 0;
/* 配置定时器Timer0 */
ConfigCpuTimer(&CpuTimer0, Freq, Period);
//开始定时器功能
CpuTimer0Regs.TCR.bit.TSS=0;
//进行PIE中断配置 开启CPU第一组中断并使能第一组中断的第7个小中断,即定时器0
IER |= M_INT1;
PieCtrlRegs.PIEIER1.bit.INTx7 = 1;
//使能总中断
EINT;
ERTM;
}

  • 15
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值