咸鱼ESP32实例—定时器

26 篇文章 11 订阅

咸鱼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)
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咸鱼桨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值