Skip to content

timer 模块

ESP32的定时器,本类就是esp32 timer的IDF函数直接映射,可通过esp idf框架文档获取更详细的说明 但很多情况下其实不是很推荐使用本定时器,因为RAM消耗过大。如果只是简单的延迟运行或简单的周期运行,更推荐使用本平台内置的sys.post、sys.delaypost函数

class timer

static create(name: str, callback: pointer) -> str

创建一个定时器,参数1为定时器的名称,参数2为定时器的响应函数,返回pointer类型为定时器句柄,可用于

参数类型说明
namestr
callbackpointer
  • 返回: str

static delete(timer: pointer) -> str

参数类型说明
timerpointer
  • 返回: str

static start_once(timer: pointer, timeout_us: int64) -> int

单次运行启动

timer: 定时器句柄,由timer.create返回 timeout_us: 定时器超时时间,单位微秒

参数类型说明
timerpointer
timeout_usint64
  • 返回: int
C++ 映射 esp_timer_start_once

static start_periodic(timer: pointer, period: int64) -> int

周期运行启动

timer: 定时器句柄,由timer.create返回 period: 定时器周期时间,单位微秒

参数类型说明
timerpointer
periodint64
  • 返回: int
C++ 映射 esp_timer_start_periodic

static restart(timer: pointer, timeout_us: int64) -> int

重启定时器

timer: 定时器句柄,由timer.create返回 timeout_us: 定时器超时时间,单位微秒

参数类型说明
timerpointer
timeout_usint64
  • 返回: int
C++ 映射 esp_timer_restart

static stop(timer: pointer) -> int

停止定时器

timer: 定时器句柄,由timer.create返回

参数类型说明
timerpointer
  • 返回: int
C++ 映射 esp_timer_stop

static get_time() -> int64

获取当前运行时间

return: 当前时间,单位微秒

  • 返回: int64
C++ 映射 esp_timer_get_time

static get_next_alarm() -> int64

  • 返回: int64
C++ 映射 esp_timer_get_next_alarm

static get_next_alarm_for_wake_up() -> int64

  • 返回: int64
C++ 映射 esp_timer_get_next_alarm_for_wake_up

static get_period(timer: pointer, period: int64) -> int

参数类型说明
timerpointer
periodint64
  • 返回: int
C++ 映射 esp_timer_get_period

static get_expiry_time(timer: pointer, expiry: int64) -> int

参数类型说明
timerpointer
expiryint64
  • 返回: int
C++ 映射 esp_timer_get_expiry_time

static dump(stream: pointer) -> int

参数类型说明
streampointer
  • 返回: int
C++ 映射 esp_timer_dump

static is_active(timer: pointer) -> int

参数类型说明
timerpointer
  • 返回: int
C++ 映射 esp_timer_is_active

基于 llpython ESP 平台构建