ESP8266的硬件定时器的使用也比较简单

1、设置定时器的时钟源和自动重装载

hw_timer_init(FRC1_SOURCE, 1);//设置时钟源 和定时器自动重装载

时钟源有两个 NMI 中断源 和 FRC1 中断

注意:
• 如果使⽤用 NMI 中断源,且为⾃自动填装的定时器,调⽤用 hw_timer_arm 时参数 val 必须⼤大于 100
• 如果使⽤用 NMI 中断源,那么该定时器将为最⾼高优先级,可打断其他 ISR
• 如果使⽤用 FRC1 中断源,那么该定时器⽆无法打断其他 ISR
• hw_timer.c 的接⼝口不能跟 PWM 驱动接⼝口函数同时使⽤用,因为⼆二者共⽤用了同⼀一个硬件定时器。

2、设置硬件定时器的回调函数

hw_timer_set_func(hw_tmer_callback);

使⽤用定时器,必须设置回调函数。用户可以在这个回调函数里面实现自己的程序,硬件定时器是比较精准的

3、使能硬件中断定时器

hw_timer_arm(1000000);

形参是设置定时器的定时长,因为在里面设置了 1us计数加1,所以这里设置计数个数为1000000,就是定时1s

• ⾃自动填装模式:
‣ 使⽤用 FRC1 中断源(FRC1_SOURCE),取值范围 : 50 ~ 0x7fffff;
‣ 使⽤用 NMI 中断源(NMI_SOURCE),取值范围 : 100 ~ 0x7fffff;
• ⾮非⾃自动填装模式,取值范围 : 10 ~ 0x7fffff;

4、回调函数

void ICACHE_FLASH_ATTR hw_tmer_callback(void)
{
os_printf("1s时间到\r\n");
}

在回调函数里面可以实现自己的代码

ESP8266-SDK的硬件定时器相关推荐

  1. esp8266~GPIO中断和硬件定时器的正确使用

    最近项目需要检测IO口下降沿信号和定时计数,于是就用到了GPIO中断和硬件定时器.有点可惜,github上面RTOS版sdk没有硬件定时器的使用方法,能够参考的只有1.5的sdk,然而我不会移植,只能 ...

  2. ESP-12S学习(3)--软件定时器和硬件定时器500ms点亮LED

    一.软件定时器的使用 ESP8266的软件定时器不是特别的精准,想要精准的定时器,那么最好是使用硬件定时器,这一点在SDK手册上面有说到 软定时有5个函数和一个结构体 结构体:os_timer_t t ...

  3. AM574x硬件定时器

    由于任务需要精准定时,项目中决定开启am574x的硬件定时器.根据am5748的TRM手册可知,am5748提供16个GP timers:TIMER1-TIMER16.其中,TIMER1,TIMER2 ...

  4. 【阿里云生活物联网架构师专题 ④】分享可商用的ESP8266 SDK连接阿里云物联网生活平台的在线远程升级OTA笔记。

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1.esp32接入阿里云物联网平台,实现天猫精灵语音控制: 2.es ...

  5. 【阿里云生活物联网架构师专题 ②】esp8266 sdk 直连接入阿里云物联网平台,实现天猫精灵找队友零配网功能和语音控制;

    本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1.esp32接入阿里云物联网平台,实现天猫精灵语音控制: 2.es ...

  6. 【1】WiFi——————ESP8266 SDK编程 之 GPIO输入、输出、中断模式

    简述 GPIO ESP8266共计17个I/O管脚,每个GPIO都可使能内部上拉/下拉(XPD_DCDC只有下拉) IO管脚是双向.非反相和三态的: 输入模式 输出模式 中断模式 上升沿触发 下降沿触 ...

  7. 【4】WiFi——————ESP8266 SDK编程 之 UDP通信

    简述 UDP介绍请点击此链接-----> TCP/IP协议之---->UDP UDP分类 udp client udp server 区别 server:不需要建立连接,也不监听,被动的接 ...

  8. ESP32-C3入门教程 基础篇(六、TIMG 硬件定时器 与 软件定时器)

    到了测试第6课,还没有玩过ESP32-C3的基本定时器,虽然FreeRTOS,可以使用软件定时器 但是软件定时器毕竟也有不适用的时候,这个在我FreeRTOS博文中有单独说明. 所以硬件定时器也得熟悉 ...

  9. am335x硬件定时器使用

    在使用am335x硬件定时器的时候,需要操作物理地址,如果直接按照裸跑时操作寄存器的话会报错,Unable to handle kernel paging request at virtual add ...

最新文章

  1. (一)ubuntu 12.04 安装php5.5
  2. Java8 - Future 接口
  3. 什么是进程?Python进程各部分内容介绍
  4. 《炉石传说》架构设计赏析(1):游戏启动流程
  5. java对.txt文件进行读取方法实战---室友是网络安全方向,帮他提取文件里的特定ip
  6. php getfullyear,getYear、getFullYear和getUTCFullYear三者的区别
  7. 50个常用mysql语句_50个常用的sql语句
  8. html 表格_HTML -- 表格结构
  9. php扩展开发2--添加类
  10. SqlServr性能优化性能之层次结构(十五)
  11. 酒桌游戏c语言,拯救冷场,这十三款经典酒桌游戏你玩过几个?
  12. Delphi android 开发视频教程
  13. 图像处理农业应用sci_SCI/SSCI期刊资源(4月20日更新)
  14. 浅谈图像识别技术原理与价值
  15. ifox格式如何快速的转换成mp4格式?
  16. android 实现qq动画,Android实现仿QQ登录界面背景动画效果
  17. 分享几个实用的神器APP系列(三)
  18. http 301 302 303 307 308 傻傻分不清
  19. Python数据分析-绘图-2-Seaborn进阶绘图-6-回归图
  20. c语言打开xls文件格式,Excel2017如何打开et格式文件?Excel2017打开.et文件的方法介绍...

热门文章

  1. java异常体系分类(面试)
  2. python字符串input输入_5.print()函数、转义字符、python注释、常量、字符串、格式化输出、input()输入...
  3. oracle 获取当月的1号_ORACLE认证大师(OCM)
  4. ups的空开、电缆及电池的配置计算
  5. 多雨季节 数据中心亦要“防汛”
  6. linux替换每个英文字开头为大写,shell脚本,文件里面的英文大小写替换方法。...
  7. pitch android,Pitch Clash
  8. NLP:GLUE和SuperGLUE基准的简介、任务分类、使用方法之详细攻略
  9. 成功解决AttributeError: module 'cv2.cv2' has no attribute 'xfeatures2d'
  10. BC:带你温习并解读《中国区块链技术和应用发展白皮书》—区块链标准体系框架