您好!
我正在初始化计时器、如下所示:
MAP_SysCtlPeripheralEnable(SYSCTL_PERIPH_TIMER0); MAP_IntMasterEnable(); MAP_TimerConfigure(TIMER0_BASE, TIMER_CFG_PERIODIC); MAP_TimerLoadSet(TIMER0_BASE, TIMER_A, ui32SysClkFreq / 50); TimerIntRegister(TIMER0_BASE, TIMER_A, Timer0IntHandler); MAP_IntEnable(INT_TIMER0A); MAP_TimerIntEnable(TIMER0_BASE, TIMER_TIMA_TIMEOUT); MAP_TimerEnable(TIMER0_BASE, TIMER_A);
它每秒调用 Timer0IntHandler 50次。 我仍然可以调节计时器的频率吗? 我已经查看外设库文档并发现:
这意味着"如果定时器正在运行、那么该值可立即加载到定时器中"-可在定时器运行时调节其周期? 我错了吗?
另外、设置新的加载值意味着计数器应该会复位、那么计时器的剩余 ms 会重新启动吗?
我正在寻找一种在不重置剩余时间的情况下动态调整频率至+/- 1%以内的方法。 也许我可以从它添加或减去吗?
非常感谢您提出任何想法。
此致、
C.A.