所需器件工具
1.ESP32-CAM开发板,开发板购买链接
1、介绍及使用方式
用于操作时间和进行睡眠操作。这些代码使用了time
模块提供的函数来实现,周期以毫秒为单位。
import time
time.sleep(1) # sleep for 1 second
time.sleep_ms(500) # sleep for 500 milliseconds
time.sleep_us(10) # sleep for 10 microseconds
start = time.ticks_ms() # get millisecond counter
delta = time.ticks_diff(time.ticks_ms(), start) # compute time difference
首先time.sleep(1)
表示程序将休眠 “秒” 钟,然后,ime.sleep_ms(1)
表示程序将休眠 “毫秒” ,而time.sleep_us(1)
表示程序将休眠 “微秒” 。 start = time.ticks_ms()
函数用于获取当前的毫秒计数器的值。它可以在代码的不同位置使用,以记录开始时间。最后通过time.ticks_diff(time.ticks_ms(), start)
计算时间差异的函数,它接受两个参数,分别是两个时间值(以毫秒计数器表示),它返回时间差异的值,以毫秒为单。
ESP32端口有四个硬件计时器,使用计时器ID从 0 到 3 。
from machine import Timer
import time
tim0 = Timer(0)
tim0.init(period=500, mode=Timer.ONE_SHOT, callback=lambda t:print(0))
tim1 = Timer(1)
tim1.init(period=200, mode=Timer.PERIODIC, callback=lambda t:print(1))
# 定义需要定时调用的函数
def function_to_call(timer):
print("定时器回调函数被调用")
tim2 = Timer(2)
tim2.init(period=300, mode=Timer.PERIODIC, callback=function_to_call)
time.sleep(5)
tim0.deinit()#关闭定时器
tim1.deinit()#关闭定时器
tim2.deinit()#关闭定时器
关键字mode
为循环模式:①Timer.ONE_SHOT
- 定时器运行一次,直到通道的配置周期到期。②Timer.PERIODIC
- 定时器以通道的配置频率定期运行
关键字callback则为需要回调的函数名。