在大多数裸奔的单片机中,我们总是会在主函数main中,添加一个while(1)无限循环,保证程序一直执行不退出。但今天我们要讲的是在事件驱动的esp8266中,一般不能用while循环,更多的时候我们是添加定时器,在定时器的回调函数中添加要执行的代码,并让定时器重复定时来达到循环执行代码的目的。那么我们首先来看看esp8266里的软件定时器吧。
在esp8266的sdk中,有5个函数来操作软件定时器。请看:
1.os_timer_arm,该函数是使能毫秒级定时器。函数的定义如下图:
2.os_timer_arm_us,该函数是使能微秒级的定时器,最高精度为500us.请看函数的定义如下:
在使用该函数之前,需要调用system_timer_reinit来初始化软件定时器。
3.os_timer_disarm,此函数为取消定时器定时。在定时器初始化之前和定时器结束定时的时候调用。函数定义如下:
          4.os_timer_setfn,该函数是设置定时器回调函数。在定时器定时到达后,会自动调用设置的回调函数。函数定义如下:
5.system_timer_reinit该函数是重新初始化定时器,当需要使用微妙定时器时调用。函数定义如下:
        在了解了函数功能之后,我们来写个定时器的demo,进一步来学习下毫秒级定时器的用法。
首先,定义一个定时器变量用来储存定时器对象。如下图:
注意,此timer必须是个全局变量,如果定义一个局部变量。编译器不会报错,但是程序运行时会出现意想不到的的现象。
第二步, 我们定义一个定时器回调函数,当定时器到达时,调用该函数。如下图所示:
回调函数在每次调用时,简单的打印一下"Hello,are you OK?\n".注意,在回调函数里面,不能消耗太长的时间,更不宜做长时间等待等操作。
第三步,在用户主函数中,初始化定时器和设置定时器定时。本demo设置定时1000ms,并重复定时。代码如下:
第四步,保存编译。运行结果如下:

esp8266模块软件定时相关推荐

  1. 一个巨型的ESP8266模块,围观围观

    作者:晓宇,排版:晓宇 微信公众号:芯片之家(ID:chiphome-dy) 01  巨型ESP8266 ESP8266几乎无人不知,无人不晓了吧,相当一部分朋友接触物联网都是从ESP8266开始的, ...

  2. 乐鑫esp8266模块MicroPython开发板MQTT物联网人工智能最小系统

    简 介: ※对于购买自网络的基于ESP8266的实验模块进行了初步的测试,它其中的一些示例进行了练习.特别是对于基于ESP8266的特殊的一些外设的测试. 关键词: ESP8266,MicroPyth ...

  3. 通过AT指令实现ESP8266模块和TCP服务器的数据传输

    通过 AT 指令实现 ESP8266 模块和 TCP服务器的数据传输 一,总体介绍: 这篇博文主要讲解如何通过串口调试工具发送AT指令给esp8266-01,实现8266和服务器通讯.这里使用网络调试 ...

  4. Finger.01 - ESP8266模块STA模式调试

    前言: 前段时间从网上看到了一个很有意思的视频,作者做了一个方方正正的模块,这个模块能够连接网络,并能够通过手机app控制这个模块,这个小模块可以拓展出机械杠杆或者旋转的齿轮,通过这拓展出来的机械结构 ...

  5. 【沧海拾昧】WiFi串口通信ESP8266模块基本介绍(附野火WiFi透传实例)

    #C0104 沧海茫茫千钟粟,且拾吾昧一微尘 --<沧海拾昧集>@CuPhoenix [阅前敬告] 沧海拾昧集仅做个人学习笔记之用,所述内容不专业不严谨不成体系 [如有问题必是本集记录有谬 ...

  6. ESP8266模块使用完整教程

    在我入门ESP8266小黄板的过程中,过程是艰难的,因为网络上的资料太多太乱,官网上的资料不算太完备,而在技术交流群里面的就更乱了,所以想按自己学习所总结到的经验来分享给大家. 资源链接:http:/ ...

  7. 1.WiFi模块ESP8266模块的使用(针对初学者)

    虽然esp8266有很多种,但是对于我们初学者来说,只需要有RXD,TXD,VCC,GND四个引脚,简单入门足够了 1. 引脚说明: VCC连接正极(有些是3.3V,有些是5V,我的这个是5V),GN ...

  8. 使用ESP-8266模块做一个便携式WIFI杀手

    使用ESP-8266模块做一个便携式WIFI杀手 如何用esp8266做个wifi干扰器 声明:此教程仅用于测试和自己玩,请勿用于非法用途,否则后果自负. 其实关于esp8266网上有许多教程,好多前 ...

  9. 利用ESP8266模块实现远程用手机控制开关

    利用ESP8266模块实现远程用手机控制开关 文章目录 前言 一.ESP8266是什么? 二.使用步骤 1.密钥与核心库 2.连接Wi-Fi 3.手机端控制函数 总结 插入链接与图片 列表 前言 随着 ...

最新文章

  1. Kimera:一个基于度量语义的SLAM开源库
  2. win10 tensorrt安装 踩坑记录
  3. Jmeter之控制线程执行到某个结果时退出执行(第二种解决方案)
  4. python比java简单好学-python和java哪个学起来更简单
  5. js你真的了解offsetWidth吗
  6. MVC 事物同时保存,更新数据库
  7. 以下代码有什么问题(struct构造问题)
  8. java while do循环_c语言中,while 和 do while 循环的主要区别是( )
  9. 如何维护笔记本电脑的电池
  10. 互联网晚报 | 10月5日 星期二 | 爱奇艺、腾讯、优酷宣布取消超前点播;蜜雪冰城冲刺A股上市;吴京主演电影票房超200亿...
  11. 在linux下进行嵌入式系统设计,一种应用于测控系统的基于Linux的嵌入式系统的设计...
  12. RestClient操作文档
  13. python散点图获取边界_获取离散点的边界点
  14. List<Map>转Map<String,List>
  15. win10网络适配器不见了_win10网络适配器不见了怎么恢复_win10没有网络适配器如何解决...
  16. EasyGBS通过GB2818下载流程结合抓包数据详细记录
  17. 网络状态测试程序(基于ping命令)
  18. wps如何保存最终状态_wps word 最后一次保存者 wps最后一次保存者
  19. 抖音、快手打起来了,互联网大佬集体内卷?
  20. 茅台抢购特产平台(葫芦娃)

热门文章

  1. Spring(前言)
  2. 高数复习(4)--格林公式的理解
  3. Serialization全解析
  4. ----時區----
  5. qtp录制ie,提示“是否只查看安全传送的网页内容”
  6. Android项目开发常用工具类GlideEngine
  7. vue使用axios请求相关配置文件包括跨域配置
  8. 刘若英携丈夫现身杭州 谈及隐私变得“太难搞”(图)
  9. 使用“快速信息分发“功能将Excel表格中的信息点对点推送给员工(转)
  10. 数据存储——手机内部文件存储