概述
咸鱼ESP32实例—定时器
定时器,顾名思义就是用来计时的,我们常常会设定计时或闹钟,然后时间到了就告诉我们要做什么了。单片机也是这样,通过定时器可以完成各种预设好的任务
ZTWF开发板
ESP32 内置 RTOS(实时操作系统)定时器,在 machine 的 Timer 模块中。通过 MicroPython 可以轻松编程使用。我们也是只需要了解其构造对象函数和使用
方法即可!
构造函数 |
---|
tim=machine.Timer(-1) |
构建定时器对象。RTOS 定时器编号为-1; |
使用方法 |
tim.init(period,mode,callback) |
定时器初始化。period:单位为 ms(毫秒); mode:2 种工作模式,Timer.ONE_SHOT(执行一次)、Timer.PERIODIC(周期性);callback:定时器中断后的回调函数。 |
定时器到了预设指定时间后,也会产生中断,因此跟外部中断的编程方式类
似,相比于延时函数,定时器的好处就是不占用 CPU 资源
测试代码如下:
from machine import Pin,Timer
led=Pin(2,Pin.OUT)
Counter = 0
def xy(tim):
global Counter
Counter+=1
print(Counter)
led.value(Counter%2) #对2取余数的结果不是0就是1
#开启 RTOS 定时器,编号为-1
tim = Timer(-1)
#周期为 1000ms
tim.init(period=1000, mode=Timer.PERIODIC,callback=xy)
运行成功时的效果串口打印次数,板子LED灯循环亮灭
修改代码后在运行出现以下错误。
按下板子复位键即可(S1)
最后
以上就是明亮春天为你收集整理的咸鱼ESP32实例—定时器的全部内容,希望文章能够帮你解决咸鱼ESP32实例—定时器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复