- 学习路线
- RT-Thread 简介
- RT-Thread Nano
- RT-Thread Smart
- RT-Thread Studio
- 快速上手
- 内核
- Env 工具
- 设备和驱动
- 组件
- 软件包
- 物联网
- 工具
- MicroPython用户手册
- 应用开发
- RT-Thread 版本选择
- 开发环境搭建
- 固件尺寸优化
- 在RT-Thread潘多拉开发板上实现电源管理
- 网络协议栈驱动移植
- 在STM32F429上应用网络功能
- 在STM32F429上应用文件系统
- 在潘多拉上使用 SFUD 操作 Flash
- FreeModbus 应用笔记
- 应用AT组件连接ESP8266模块
- 多线程非阻塞网络编程
- 使用QEMU运行动态模块组件
- CmBacktrace应用
- 在 STM32L4 上应用 littlefs 文件系统
- STM32通用Bootloader
- wireshark抓取tls数据包
- 在 STM32 上应用 C++
- STM32 上使用 PWM
- STM32 上使用 USB Host 读写 U 盘
- QEMU 网络视频教程
- Demo 示例
- 其他
- 传感器驱动开发指南
- 软件包开发
- 向RT-Thread贡献代码
- 内核视频教程
- Env 视频教程
- rw007 SPI WiFi 模块使用
- wireshark抓取tls数据包
- Keil MDK 安装
- Rtthread dir
- 支持的传感器列表
- 支持的 Touch 列表
- Builtin functions and exceptions
- Cmath
- Gc
- Math
- Sys
- Uarray
- Ubinascii
- Ucollections
- Uerrno
- Uhashlib
- Uheapq
- Uio
- Ujson
- Uos
- Ure
- Uselect
- Usocket
- ussl – SSL/TLS 模块
- Ustruct
- Utime
- Uzlib
- thread
- micropython – 内部功能访问与控制模块
- Rtthread
- Machine
- Pin
- I2C
- SPI
- UART
- LCD
- RTC
- PWM
- ADC
- WDT
- Timer
- Network
- Wlan
- 传感器驱动框架介绍
- Preparations
文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
Timer
machine.Timer
machine.Timer 类是 machine 模块下的一个硬件类,用于 Timer 设备的配置和控制,提供对 Timer 设备的操作方法。
- Timer(硬件定时器),是一种用于处理周期性和定时性事件的设备。
- Timer 硬件定时器主要通过内部计数器模块对脉冲信号进行计数,实现周期性设备控制的功能。
- Timer 硬件定时器可以自定义超时时间和超时回调函数,并且提供两种定时器模式:
ONE_SHOT
:定时器只执行一次设置的回调函数;PERIOD
:定时器会周期性执行设置的回调函数;- 打印 Timer 对象会打印出配置的信息。
构造函数
在 RT-Thread MicroPython 中 Timer
对象的构造函数如下:
class machine.Timer(id)
- id:使用的 Timer 设备编号,
id = 1
表示编号为 1 的 Timer 设备,或者表示使用的 timer 设备名,如id = "timer"
表示设备名为timer
的 Timer 设备;
该函数主要用于通过设备编号创建 Timer 设备对象。
方法
Timer.init(mode = Timer.PERIODIC, period = 0, callback = None)
mode:设置 Timer 定时器模式,可以设置两种模式:
ONE_SHOT
(执行一次)、PERIOD
(周期性执行),默认设置的模式为PERIOD
模式;period:设置 Timer 定时器定时周期,单位:毫秒(ms)
callback:设置 Timer 定义器超时回调函数,默认设置的函数为 None 空函数,设置的函数格式如下所示:
def callback_test(device): # 回调函数有且只有一个入参,为创建的 Timer 对象
print("Timer callback test")
print(device) # 打印 Timer 对象配置信息
该函数使用方式如下示例所示:
timer.init(wdt.PERIOD, 5000, callback_test) # 设置定时器模式为周期性执行,超时时间为 5 秒, 超时函数为 callback_test
Timer.deinit()
该函数用于停止并关闭 Timer 设备。
常量
下面的常量用来配置 Timer
对象。
选择定时器模式:
Timer.PERIODIC
Timer.ONE_SHOT
示例
>>> from machine import Timer # 从 machine 导入 Timer 类
>>> timer = Timer(15) # 创建 Timer 对象,当前设备编号为 11
>>> # 进入粘贴模式
paste mode; Ctrl-C to cancel, Ctrl-D to finish
=== def callback_test(device): # 定义超时回调函数
=== print("Timer callback test")
>>> timer.init(timer.PERIODIC, 5000, callback_test) # 初始化 Timer 对象,设置定时器模式为循环执行,超时时间为 5 秒,超时回调函数 callback_test
>>> Timer callback test # 5 秒超时循环执行回调函数,打印日志
>>> Timer callback test
>>> Timer callback test
>>> timer.init(timer.ONE_SHOT, 5000, callback_test) # 设置定时器模式为只执行一次,超时时间为 5 秒,超时回调函数为 callback_test
>>> Timer callback test # 5 秒超时后执行一次回调函数,打印日志
>>> timer.deinit() # 停止并关闭 Timer 定时器
更多内容可参考 machine.Timer。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论