Page 1 of 1

ESP32 定时器 Reload 的 BUG?

Posted: Tue Apr 21, 2020 4:20 am
by zhuanjia
ESP-IDF 的定时期设置 TIMER_AUTORELOAD_EN 后,原则上定时中断产生时应该自动 reload 到 0重新计时。

但实际测试发现(查阅Timer例程也可看到)在定时器中断发生时貌似定时器自动停止了,必须手动再次启动。。。这会导致每个定时周期总会偏差一点点(因为在中断中重新开始定时器需要一点时间),现在无法满足我需要极为精准的定时周期了。。求教如何才能正确使用Reload机制?

下面是 IDF-SDK 中 Timer 的例程,疑问在于为什么每次定时器中断时需要重新设置开启中断以及重新设置alarm value?

Image