ESP8266-Arduino编程实例-中断

article/2025/9/22 22:38:48

中断

本文将演示如何使用 ESP8266 NodeMCU 的中断和定时器。 中断检测 GPIO 状态的变化且无需不断检查其当前值。通过使用中断,当检测到更改时,会触发事件(调用函数)。

在实例中,使用 PIR 运动传感器检测运动:当检测到运动时,ESP8266 会启动一个定时器并打开 LED 预定义的秒数。 当计时器完成倒计时,LED 会自动关闭。

1、ESP8266中断介绍

中断对于在微控制器程序中使事情自动发生很有用,并且可以帮助解决时序问题。

使用中断,您无需不断检查当前引脚值。 当检测到变化时,会触发一个事件——调用一个函数。 该函数称为中断服务程序(ISR)。

当中断发生时,处理器停止执行主程序执行任务,进入中断服务程序,中断服务程序执行完成后再返回到主程序,如下图所示。

在这里插入图片描述

ESP8266 支持任何 GPIO 中的中断,但 GPIO16 除外。

要创建中断,需要调用 attachInterrupt() 并将 GPIO 中断引脚、ISR(要调用的函数)和模式作为参数传递。 ISR 函数必须声明 ICACHE_RAM_ATTR 属性。 模式可以是 CHANGERISINGFALLING


http://chatgpt.dhexx.cn/article/fCJuH5YR.shtml

相关文章

ESP8266-Arduino编程实例-MLX90393磁场传感器驱动

MLX90393磁场传感器驱动 1、MLX90393介绍 MLX90393 磁场传感器可以在运行时重新编程为不同的模式和不同的设置。 该传感器使用 Melexis 专有的 Triaxis 技术提供与沿 XYZ 轴感应的磁通密度成比例的 16 位输出,还提供温度输出信号。 这些数字值可通过 I2C 和 SPI 获得,其中 …

arduino新手入门详细教程系列之【Ⅱ:arduino编程环境配置】

目录 一)下载Arduino IDE 二)安装驱动 三)认识Arduino IDE 四)下载一个Blink程序 五)blink程序 更多优质文章请关注博主: 沄边小卖部的博客_CSDN博客-笔记,计算机类相关,《初级会计实务》考试学习分享…

ESP8266-Arduino编程实例-PWM

PWM 本文将演示如何使用ESP8266 NodeMCU生成PWM信号,通过随时间改变占空比来调节 LED 亮度。 ESP8266 GPIO 可以设置为输出 0V 或 3.3V,但在0~3.3V之间不能输出任何电压。 尽管如此,可以使用脉宽调制 (PWM) 输出“假”中电平电压,从而产生不同级别的 LED 亮度的方式。 如…

Arduino编程基础与常用函数(详细)解析

Arduino编程基础 关键字: if、if…else、for、switch、case、while、do…while、break、continue、return、goto。 语法符号:每条语句以“;”结尾,每段程序以“{}”括起来。 数据类型: boolean、 char、 int、 unsign…

Arduino入门-Arduino编程语言入门教程

随着社会的发展,越来越多的中小学生、老师、创客们、设计师、艺术家等都在玩Arduino,那Arduino编程语言入门难吗?我们都知道Arduino使用C/C编写程序,虽然C兼容C语言,但这是两种语言,C语言是一种面向过程的编程语言&…

arduino c语言pdf,arduino编程从零开始

arduino编程从零开始是一款Arduino新手编程入门手册,由Simon Monk编著,刘椮楠翻译,全书揭示了arduino的软件特性,介绍了如何在arduino上用c语言编写能稳定运行的sketch。本书的重点是对Arduino编程,作者将介绍怎样简单并有趣地对Arduino编程,避免使用生涩难瞳的代码而让制…

小白入门Arduino,一步一图搭建开发环境

目录 1、Arduino 2、环境搭建 2.1 下载软件: 2.2 ide安装 2.3 软件试用 2.5 代码解读 3、总结 最近有机会接触到物联网的开发,所以自己学习一下,记录一下。 在查阅了各种资料,对比了下各种难度,资料的丰富程度…

arduino入门1

文章目录 编程并不是一间很难的事,你可这样理解: 在编程中,你就像是一个老板arduino就像是你的员工,你可指挥arduino去做你想让它做的事。当然,要做的事得在员工的工作范围之内。 arduino这位员工就是一块电路板&…

Arduino面向对象编程基础

面向对象编程基础 1.基础概论 面向对象三大特征:继承、封装、多态 2.简单的类和对象 案例:创建Led类 案例01:感受构造函数与析构函数的功能 class Led {public :Led(); //构造函数声明,初始化对象,在创建对象的…

Arduino入门教程

Arduino是一款简单易学的开源电子原型平台,包含硬件(各种型号的Arduino板)和软件(Arduino IDE)。它通过各种各样的传感器来感知环境,再通过控制灯光、电机和其他的装置来完成很多自动控制任务,在…

Arduino学习篇,基础入门

什么是arduino? 简单来讲arduino就是通过源代码控制开发板的信号输入输出从而实现对一些电子元件的控制,例如LED灯,蜂鸣器,按键 arduino程序 首先来讲arduino程序是基于C语言,而实现类似对于LED灯和蜂鸣器的简单控制只需简单C语…

TCP 四次挥手,可以变成三次挥手吗?

作者:小林coding 计算机八股文网站:https://xiaolincoding.com 大家好,我是小林。 虽然我们在学习 TCP 挥手时,学到的是需要四次来完成 TCP 挥手,但是在一些情况下, TCP 四次挥手是可以变成 TCP 三次挥手的…

TCP的三次握手、四次挥手--非常详细讲解

本篇文章转自 TCP的三次握手(建立连接)和四次挥手(关闭连接)不过进行了一些编辑。 TCP(Transmission Control Protocol) 传输控制协议 1、TCP三次握手和四次挥手的过程图 tcp的6种标志位的分别代表: SYN(synchronous建立联机) ACK…

两张动图-彻底明白TCP的三次握手与四次挥手

背景描述 通过上一篇中网络模型中的IP层的介绍,我们知道网络层,可以实现两个主机之间的通信。但是这并不具体,因为,真正进行通信的实体是在主机中的进程,是一个主机中的一个进程与另外一个主机中的一个进程在交换数据。…

http——三次握手四次挥手

http htttp:TCP三次握手四次挥手(TCP连接的释放) htttp: 超文本传输协议(Hyper Text Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消…

HTTP的三次握手和四次挥手

目录 1. HTTP的三次握手2. HTTP的四次挥手3. HTTPS的三次握手 1. HTTP的三次握手 三次握手(Three-way Handshake)其实就是指建立一个TCP连接时,需要客户端和服务器总共发送3个包。进行三次握手的主要作用就是为了确认双方的接收能力和发送能力…

我终于搞懂了TCP的三次握手和四次挥手(图片案例超详解)

【辰兮要努力】:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行! 博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端、后台、…

tcp四次挥手,为什么是四次?

上一篇博客说了三次握手为什么是是三次(点这里),那么现在就介绍一下四次挥手。大家都知道TCP是全双工的,再建立连接时的三次握手中的SYN和ACK一起发送,这里就会有疑问,为什么在四次挥手的时候没有将SYN和AC…

TCP三次握手,四次挥手的全过程,为什么需要三次握手,四次挥手

文章目录 前言TCP协议的介绍三次握手四次挥手 前言 主要介绍为什么TCP协议需要三次握手和四次挥手 TCP协议的介绍 传输控制协议(TCP,Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议. 面向连接&…

TCP四次挥手

第一次挥手: 主动断开方(客户端,服务的都可以)向对方发送一个FIN结束请求报文,并设置序列号和确认号,随后主动断开方进入FIN_WAIT1状态,这表示主动断开方已经没有业务数据要发给对方了&#xff…