Ticker是ESP32 arduino的自带库,可以设置以固定时间间隔反复执行某个任务,特别适合以固定频率从传感器收集数据。
计时器本质上是一个计数器。让我们举一个简单的例子。如果给你一个可以从0到10计数的计数器,并且每次到达计数结束或溢出时都会给你一个中断,那么,只需调整计数的频率,你就可以得到准确的时间间隔。

常用方法

void attach(float seconds, callback_t callback)
void attach(float seconds, void (*callback)(TArg), TArg arg)
设置调度任务,该任务会反复执行,输入参数分别为时间间隔(秒)、回调函数、不大于四字节的数据;
void attach_ms(uint32_t milliseconds, callback_t callback)
void attach_ms(uint32_t milliseconds, void (*callback)(TArg), TArg arg)
设置调度任务,该任务会反复执行,输入参数分别为时间间隔(毫秒)、回调函数、不大于四字节的数据;
void once(float seconds, callback_t callback)
void once(float seconds, void (*callback)(TArg), TArg arg)
设置调度任务,该任务只执行一次,输入参数分别为时间间隔(秒)、回调函数、不大于四字节的数据;
void once_ms(uint32_t milliseconds, callback_t callback)
void once_ms(uint32_t milliseconds, void (*callback)(TArg), TArg arg)
设置调度任务,该任务只执行一次,输入参数分别为时间间隔(毫秒)、回调函数、不大于四字节的数据;
void detach()停止任务调度;
详见:https://github.com/espressif/arduino-esp32/blob/master/libraries/Ticker/src/Ticker.h

示例

#include <Ticker.h> //调用Ticker.h库Ticker ticker1; //声明Ticker对象
Ticker ticker2; //声明Ticker对象void callback1() //回调函数1
{Serial.print(millis());Serial.println("  回调函数1已启用");
}void callback2() //回调函数2
{Serial.print(millis());Serial.println("  回调函数2已启用");
}void setup()
{Serial.begin(115200);Serial.println();ticker1.attach(0.5, callback1);   //每0.5秒调用callback1ticker2.once_ms(2000, callback2); //2000毫秒后调用一次callback2
}void loop()
{
}

程序仿真地址:https://wokwi.com/projects/334452637049029202
wokwi在线编程:https://wokwi.com/

参考链接:

  • https://techtutorialsx.com/2021/08/07/esp32-ticker-library/
  • https://blog.csdn.net/finedayforu/article/details/108464929
  • https://blog.csdn.net/weixin_42880082/article/details/113861032
  • http://www.taichi-maker.com/homepage/esp8266-nodemcu-iot/iot-c/esp8266-tips/ticker/

ESP32 Arduino Ticker定时库相关推荐

  1. ESP32 开发之旅③ Ticker——定时库

    授人以鱼不如授人以渔,目的不是为了教会你具体项目开发,而是学会学习的能力.希望大家分享给你周边需要的朋友或者同学,说不定大神成长之路有博哥的奠基石... 快速导航 单片机菜鸟的博客快速索引(快速找到你 ...

  2. PlatformIO使用Arduino[Ticker]库(ESP8266)

    在<PlatformIO如何编译Arduino程序(ESP8266)>一文中,我们是使用delay()函数来延时,让LED灯闪烁,但因为delay()函数的使用会阻塞主程序的执行,所以,一 ...

  3. ESP32 Arduino开发之路(2)— 使用PWM实现LED呼吸灯

    ESP32 Arduino开发之路(2)- 使用PWM实现LED呼吸灯 一.前言 在ESP32上有一个LEDC外设模块专用于输出PWM波形,其介绍如下所示: 参考文章:在 ESP32 上使用 LEDC ...

  4. ESP32:使用TFT_eSPI库驱动TFT串口屏

    目录 实验条件 软件部分 TFT_eSPI库的安装 配置文件 硬件部分 esp32 LCD串口屏 接线方式 实验部分 参考文章 本文使用 esp32结合 TFT_eSPI库点亮了一块 ILI9341驱 ...

  5. 0021 arduino iic i2c 实例讲解 TWI是什么 arduino 的 iic 库 i2c库 arduino Wire 库

    目录 I2C介绍 TWI 介绍 arduino 的iic库 下一讲,具体例子 I2C介绍 I2C 是一种简单.双向二线制同步串行总线.它只需要两根线即可在连接于总线上的器件之间传送信息.简单说就是 只 ...

  6. ESP32+arduino智能浇水系统

    一.ESP32+arduino智能浇水系统 随着人类居住条件的改善及对生态生活环境的关注,花卉养殖得到社会和人类个体的重视.这些具有生命特征的植物需 要科学合理的人工照顾.本研究提出了利用ESP WR ...

  7. ESP32 Arduino http协议digest认证 接入海康威视摄像机

    注意:使用的是ArduinoHttpClient,与ESP32内部的HTTPClient库有较大的差别 海康摄像机http接入时候,由于没有认证信息,会返回401无权限信息,这时需要进行digest认 ...

  8. 服务器.esp文件,ESP32 Arduino教程:通过软接入点(soft AP)实现HTTP服务器-esp文件

    在本ESP32(http://www.dfrobot.com.cn/goods-1359.html)教程中,我们将检查如何设置一个异步HTTP web服务器,该设备作为软访问点运行. 本ESP32教程 ...

  9. 手把手教你看懂并理解Arduino PID控制库——调参改变

    2019独角兽企业重金招聘Python工程师标准>>> 引子 本文将分析<手把手教你看懂并理解Arduino PID控制库>中第三个问题:PID控制参数突变对系统的影响. ...

最新文章

  1. python对于办公有什么帮助-日常工作中python能够有哪些帮助?
  2. php 正则获取数字,php结合正则获取字符串中数字的几种方法
  3. c# 获取excel单元格公式结果_每日一Excel技巧(熟能生巧):带公式的单元格,快速批量复制、填充...
  4. Android Studio 小提示,新建Activity
  5. mysql 自增模式 auto,mysql(AUTO_INCREMENT)自增ID的起始值修改与设置
  6. 【最新合集】编译原理习题(含答案)_2程序设计语言及其文法_MOOC慕课 哈工大陈鄞
  7. 配置本地及网络yum源(详细步骤)
  8. 有没有查计算机组成的答案得,计算机组成答案.doc
  9. oracle 安装display,Linux安装Oracle 11时报错DISPLAY解决方案
  10. 微软公司等数据结构+算法面试100题2010版全部出炉
  11. 使用spring-data-jpa实现简单的两表联查
  12. 解析淘宝商城缘何更名“天猫”
  13. baacloud无法连接到_加入 Beta 版“Baacloud” - TestFlight - Apple
  14. 中国科学技术大学生物信息学考试复习资料(整理版)
  15. linux连接苹果鼠标,Linux 5.13添加对苹果Magic Mouse 2和微软SAM的支持
  16. 手绘与码绘————用代码表现出花瓣飞舞的效果
  17. 全球6G产业及政策进展研究
  18. 数据分析案例--2012美国总统竞选赞助数据分析
  19. 解决牛客网在线编程,本地编译结果正确,提交结果不正确问题!!!
  20. linux内核启动停止在booting the kernel.

热门文章

  1. OSPF路由实验+ASBR+ABR实验
  2. Unity GPS定位之逆地理编码(获取经纬度并转换成地理位置)
  3. 怎样在photoshop中把字体加粗并倒影
  4. python迭代是什么意思_python中的迭代是什么意思?
  5. 员工拿计件工资,一旦工资挣高了,老板就调低工价,这样的老板你遇到过吗,怎么应对?
  6. ​秋招上岸,机械转码经历和面经​
  7. hash函数的简单介绍
  8. NET CORE Learning
  9. sim函数 matlab输出,关于MATLAB里sim函数?
  10. poi导出Excel+图片