TI中文支持网
TI专业的中文技术问题搜集分享网站

TM4C129 定时器

在主函数中用LED,检验定时器工作是否正常,

当TimerValueGet(TIMER1_BASE,TIMER_A)==5000000UL,LED2亮

当 TimerValueGet(TIMER1_BASE,TIMER_A)==10000000UL,LED1亮

结果发现在调试时只有LED2亮了,LED1始终不亮

有一下几个问题不懂

1.TM4C129中默认的32位全周期定时定时器定时周期怎么算,默认计数方式是向上计数还是向下计数?

2.imerValueGet()的返回值是变化范围是多少?

3.LED2亮后,为何LED1亮不了?

xyz549040622:

10000000是不是超出范围了,超出定时器的范围了,你跟踪下这个值

wenhua song:

回复 xyz549040622:

32位定时器,按理来说最大装载值应该能到达0xf f f f f f f f 的,我现在都不晓得默认情况下它每加一的时长是怎么算,怎么设定了,好纠结

Michael Sun:

回复 wenhua song:

定时器默认的时钟和系统一样的。如果您设置了主频为120MHz,则计数的频率为120MHz。

默认是向下计数的,给了初值后向下减到0就触发中断。

关于定时器我们的TivaWare中提供了例程:

C:\ti\TivaWare_C_Series-2.1.0.12573\examples\boards\ek-tm4c1294xl\timers

请参考这个例程,配合库函数的手册就可以很快用起来定时器。

赞(0)
未经允许不得转载:TI中文支持网 » TM4C129 定时器
分享到: 更多 (0)