ESP8266-SDK的硬件定时器
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的硬件定时器相关推荐
- esp8266~GPIO中断和硬件定时器的正确使用
最近项目需要检测IO口下降沿信号和定时计数,于是就用到了GPIO中断和硬件定时器.有点可惜,github上面RTOS版sdk没有硬件定时器的使用方法,能够参考的只有1.5的sdk,然而我不会移植,只能 ...
- ESP-12S学习(3)--软件定时器和硬件定时器500ms点亮LED
一.软件定时器的使用 ESP8266的软件定时器不是特别的精准,想要精准的定时器,那么最好是使用硬件定时器,这一点在SDK手册上面有说到 软定时有5个函数和一个结构体 结构体:os_timer_t t ...
- AM574x硬件定时器
由于任务需要精准定时,项目中决定开启am574x的硬件定时器.根据am5748的TRM手册可知,am5748提供16个GP timers:TIMER1-TIMER16.其中,TIMER1,TIMER2 ...
- 【阿里云生活物联网架构师专题 ④】分享可商用的ESP8266 SDK连接阿里云物联网生活平台的在线远程升级OTA笔记。
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1.esp32接入阿里云物联网平台,实现天猫精灵语音控制: 2.es ...
- 【阿里云生活物联网架构师专题 ②】esp8266 sdk 直连接入阿里云物联网平台,实现天猫精灵找队友零配网功能和语音控制;
本系列博客学习由非官方人员 半颗心脏 潜心所力所写,仅仅做个人技术交流分享,不做任何商业用途.如有不对之处,请留言,本人及时更改. 1.esp32接入阿里云物联网平台,实现天猫精灵语音控制: 2.es ...
- 【1】WiFi——————ESP8266 SDK编程 之 GPIO输入、输出、中断模式
简述 GPIO ESP8266共计17个I/O管脚,每个GPIO都可使能内部上拉/下拉(XPD_DCDC只有下拉) IO管脚是双向.非反相和三态的: 输入模式 输出模式 中断模式 上升沿触发 下降沿触 ...
- 【4】WiFi——————ESP8266 SDK编程 之 UDP通信
简述 UDP介绍请点击此链接-----> TCP/IP协议之---->UDP UDP分类 udp client udp server 区别 server:不需要建立连接,也不监听,被动的接 ...
- ESP32-C3入门教程 基础篇(六、TIMG 硬件定时器 与 软件定时器)
到了测试第6课,还没有玩过ESP32-C3的基本定时器,虽然FreeRTOS,可以使用软件定时器 但是软件定时器毕竟也有不适用的时候,这个在我FreeRTOS博文中有单独说明. 所以硬件定时器也得熟悉 ...
- am335x硬件定时器使用
在使用am335x硬件定时器的时候,需要操作物理地址,如果直接按照裸跑时操作寄存器的话会报错,Unable to handle kernel paging request at virtual add ...
最新文章
- (一)ubuntu 12.04 安装php5.5
- Java8 - Future 接口
- 什么是进程?Python进程各部分内容介绍
- 《炉石传说》架构设计赏析(1):游戏启动流程
- java对.txt文件进行读取方法实战---室友是网络安全方向,帮他提取文件里的特定ip
- php getfullyear,getYear、getFullYear和getUTCFullYear三者的区别
- 50个常用mysql语句_50个常用的sql语句
- html 表格_HTML -- 表格结构
- php扩展开发2--添加类
- SqlServr性能优化性能之层次结构(十五)
- 酒桌游戏c语言,拯救冷场,这十三款经典酒桌游戏你玩过几个?
- Delphi android 开发视频教程
- 图像处理农业应用sci_SCI/SSCI期刊资源(4月20日更新)
- 浅谈图像识别技术原理与价值
- ifox格式如何快速的转换成mp4格式?
- android 实现qq动画,Android实现仿QQ登录界面背景动画效果
- 分享几个实用的神器APP系列(三)
- http 301 302 303 307 308 傻傻分不清
- Python数据分析-绘图-2-Seaborn进阶绘图-6-回归图
- c语言打开xls文件格式,Excel2017如何打开et格式文件?Excel2017打开.et文件的方法介绍...
热门文章
- java异常体系分类(面试)
- python字符串input输入_5.print()函数、转义字符、python注释、常量、字符串、格式化输出、input()输入...
- oracle 获取当月的1号_ORACLE认证大师(OCM)
- ups的空开、电缆及电池的配置计算
- 多雨季节 数据中心亦要“防汛”
- linux替换每个英文字开头为大写,shell脚本,文件里面的英文大小写替换方法。...
- pitch android,Pitch Clash
- NLP:GLUE和SuperGLUE基准的简介、任务分类、使用方法之详细攻略
- 成功解决AttributeError: module 'cv2.cv2' has no attribute 'xfeatures2d'
- BC:带你温习并解读《中国区块链技术和应用发展白皮书》—区块链标准体系框架