首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

采用Arduino固件的ESP8266上的AttachInterrupt

在ESP8266上使用Arduino固件时,可以通过attachInterrupt函数来设置外部中断。以下是一个简单的示例,展示了如何在ESP8266上使用attachInterrupt函数。

硬件准备

  1. ESP8266开发板(如NodeMCU、Wemos D1 Mini等)
  2. 一个按钮
  3. 一些连接线

软件准备

  1. Arduino IDE
  2. 安装了ESP8266的Arduino核心库

连接硬件

将按钮的一端连接到ESP8266的一个GPIO引脚(例如D2),另一端连接到GND。为了防止按钮抖动,可以在按钮和GND之间添加一个上拉电阻(例如10kΩ)。

示例代码

以下是一个简单的示例代码,展示了如何在ESP8266上使用attachInterrupt函数来检测按钮按下事件。

代码语言:javascript
复制
const int buttonPin = D2;  // 按钮连接到D2引脚

void setup() {
  Serial.begin(115200);
  pinMode(buttonPin, INPUT_PULLUP);  // 设置按钮引脚为输入模式,并启用内部上拉电阻

  // 附加中断服务例程
  attachInterrupt(digitalPinToInterrupt(buttonPin), buttonISR, FALLING);
}

void loop() {
  // 主循环中不需要做任何事情
}

// 中断服务例程
void buttonISR() {
  Serial.println("Button pressed!");
}

代码解释

  1. 设置引脚模式: pinMode(buttonPin, INPUT_PULLUP); 这行代码将按钮引脚设置为输入模式,并启用内部上拉电阻,以确保在没有按下按钮时引脚电平为高。
  2. 附加中断服务例程: attachInterrupt(digitalPinToInterrupt(buttonPin), buttonISR, FALLING); 这行代码将中断服务例程buttonISR附加到按钮引脚的中断上。digitalPinToInterrupt函数将GPIO引脚编号转换为中断编号。FALLING参数表示我们希望在引脚电平从高到低变化时触发中断。
  3. 中断服务例程: void buttonISR() { Serial.println("Button pressed!"); } 这个函数将在按钮按下时被调用,并在串口监视器中打印一条消息。

注意事项

  1. 中断服务例程应尽可能简短:中断服务例程应该快速执行,避免长时间阻塞。
  2. 避免在中断服务例程中使用延迟:在中断服务例程中使用延迟会导致系统响应变慢。
  3. 确保中断服务例程不会导致死锁或资源竞争:在设计中断服务例程时,要特别注意避免可能导致死锁或资源竞争的情况。
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

esp8266 OTA远程、无线升级

第一步、编译生成.bin升级固件 本教程需要用到 arduino IDEesp8266开发环境,关于arduino IDE ESP8266环境配置可参考:环境配置: 点击跳转 如果已安装好esp8266...开发环境,继续: 使用arduino IDE软件,打开随便一个需要升级程序,点击「项目」-「导出已编译二进制文件」即可生成.bin固件,如下图。...上传后复制固件链接,如下图: [ota20211120006.png] 第三步、远程升级 唯一要求:等待升级esp8266有网就行。...,可先了解远程控制灯程序, 例如通过app控制esp8266开关灯:点击跳转 app采用发送on、off指令,当esp8266收到on,执行开灯,当esp8266收到off,执行关灯。...如果开关灯没问题,我们当然也可以发生其他指令,我们可以随便假设个指令,让esp8266收到该指令,执行固件升级即可。

2.1K20
  • 如何用ESP8266做个钓鱼测试WIFI

    1.eps8266模块 首先当然你要有一块eps8266模块,像这样,最好是有底板,带Micro口,这些淘宝都可以搜到,我就是淘宝,大概30-40RMB左右,当然,如果你动手能力比较强的话可以自己做底板...2.如何将固件下载到esp8266中 在这里你需要下载两个东西,就是Flash下载工具和固件 Flash下载工具:http://espressif.com/zh-hans/support/download.../other-tools 固件我这里用是iangzy做:https://pan.baidu.com/s/1qYI3TaG 密码:abwq 将自己esp8266插到电脑,确定连接没问题的话打开设备管理器看下自己串口是多少...3.用arduino上传web到esp8266arduino官网下载适合你自己系统软件:https://www.arduino.cc/en/Main/Software web源码:http://pan.baidu.com...设置完后点击esp8266 sketch data upload,这时不会出现提醒,开始上传web页面,等个1分钟左右esp8266蓝灯不闪烁了就表示上传完了。

    4.7K81

    邪恶改装:TPYBoard制作廉价WIFI干扰器

    网上搜集了一下资料,发现用esp8266可以实现简单干扰功能,包括断网、复制、欺骗等等。刚好手上有块Tpyboard V202(30元),也是esp8266芯片,也是想换个固件是不是也可完成呢?...0X02 搭建开发环境         1、网上下载了一个使用esp8266制作Deauth无线攻击开源固件,是arduino开发。 ...另外,还需要esp8266开发包(Arduino15.rar)可以从下面链接:http://pan.baidu.com/s/1bpnJMkn 下载。          2、下载完毕后,解压。...0X04编译烧写固件         1、 解压esp8266_deauther-master.rar,arduino IDE菜单栏 文件-》打开esp8266_deauther-master源码包esp8266...烧写固件时,板子蓝色小LED灯会一直快速闪烁。 ? 烧写完毕后,显示上传成功,板子蓝色小LED会停止闪烁。 ?

    1.5K70

    esp8266架构_esp8266能做什么

    从厂商角度来看,乐鑫是ESP8266芯片厂商,安信可是依赖ESP8266生产模组,在ESP8266芯片基础,完善了外围器件布局和优化天线,并提供一系列开发方案厂家。... Wi‐Fi 网络功能(通常做为串口透传使用,目前淘宝销售大部 分已经写入基于 AT 指令串口转 wifi 固件模块,方便直接连接原有单片机系统)。     ...读者可以把ESP8266当做Arduino+WiFi功能来开发; 基本ESP8266开发体系形成,其自身SDK不断迭代开发、基于LUANodeMcu模式、基于Arduino生态移植、论坛社区众多参考资料...ESP8266烧写AT固件,可以当做Uart转WiFi使用,不过这不是本书重点,需要研究同学可以参考笔者写一个技术帖子(https://www.arduino.cn/thread-44963-1-...下面就是进入真真正正基于Arduino平台ESP8266开发之旅,旅途愉快,Hello Arduino ESP8266

    1.7K40

    【物联网设备端开发】Arduino快速上手esp8266方案开发

    、认识ESP8266 ESP8266 是 Espressif Systems 生产 Wi-Fi 片系统 (SoC)。...UART,以及可在 GPIO2 启用仅传输 UART 10位ADC(逐次逼近型ADC) 1.2 ESP8266芯片具有如下优点 低成本:您可以获得 ESP8266 板,起价为 3 美元(或更低),具体取决于型号...与 MicroPython 兼容:您可以使用 MicroPython 固件ESP8266 进行编程,MicroPython 固件是针对微控制器和嵌入式系统 Python 3 重新实现。...这个小结介绍在Arduino IDE中添加开发板,我目前手上有esp8266开发板,所以我就以添加esp8266开发板为例,进行详细介绍。...2.1 安装esp8266开发板 参考:GitHub - esp8266/ArduinoArduino ESP8266核心 首先介绍esp8266开发板安装,打开Arduino IDE “首选项

    99010

    手把手教你DIY一个硬件键盘记录器

    固件设计 具体键盘数据解析、数据存储、Wi-Fi功能,需要我们在ESP8266模块中编写相关程序,也就是固件。...ESP8266支持通过Arduino开发,这为我们固件开发提供了便利,因此本文在Arduino环境下完成开发。...ESP8266固件,需要实现: 通过UART串口读取CH9350之间键盘数据,并进行解析。 将数据储存进SPIFSS中,并提供读取和清空功能。...还得等等,在焊接之前,我们首先需要烧录ESP8266固件。 请注意ESP8266模块必须先烧写固件,再焊接到PCB。否则要先断开ESP8266RX触点和PCB连接才可正常烧录,有亿点点麻烦。...烧录还需要安装Arduino环境,网上下载即可,比较简单这里不做赘述。麻烦部分是要安装ESP8266扩展,笔者这里网络环境,相关链接会被404,需要科学上网。

    2.8K10

    打造属于自己渗透神器之 wifi-ducky.

    这样对某些实验环境下非常不友好例如:我们对某一台电脑进行 badusb 攻击我们把攻击设备插在了他电脑然后发现电脑主人坐在那里不走了,你攻击设备又不能取走这样就白白损失了 zero w 和内存卡钱...接下来我们可以把它放在一边了,开始 esp8266 上传固件了。...由于 esp8266 固件早已经就做好了我们直接去 GitHub 下载 https://github.com/spacehuhn/wifi_ducky/releases 直接上传就可以了前面 3 个顺便下载就可以了...bin 文件接下来我们就用 esp8266 烧写固件软件进行烧写。...打开软件插上 esp8266 先在 Operation 中选择端口然后再去 config 里面选择我们刚刚下载固件进行烧录 ? ? 烧录成功了下面会显示一个绿色对号图案,然后就可以了。

    1.2K20

    ESP8266继电器控制(假装有继电器)

    目前ESP8266开发方式有这几种: AT指令方式 –烧录AT固件包,使用AT指令与ESP8266交互,执行相应指令,需与单片机相连 NodeMCUlua开发 –烧录NodeMCU固件包,使用...Arduino IDE下开发 –相当于直接编写固件,编译之后,烧录进ESP,使用ESP内部资源。...NodeMCUlua开发:NodeMCU本质也是ESP8266,只是它固件是与lua脚本语言交互。 优点:节省资源,开发简单,代码量少。...需要准备相应功能固件,烧录进去,然后使用lua语言和工具与之调试。 Arduino IDE下开发方式: 优点:集编程和烧录一体,使用很方便。...缺点:Arduino IDE需要写较长代码时,不是很方便,如果需要查看底层函数或者方法,非常费劲。

    2.9K10

    制作HackCube中坎坎坷坷

    首先说一下电源问题吧,在起初调试过程中我每个模块都是独立供电arduino我使用数据线接在我笔记本esp8266我链接上了另外一台电脑,而CC1101模块,我使用我一根串口线进行供电。...程序烧写 这里就是对arduinoesp8266进行烧写了,按照帖子上面的方法,esp8266也是使用arduinoIDE进行烧写。...按照网上要求,只要在开发板管理器里面添加上esp8266网址就可以了,可是我在电脑死活搜不到那个板子,最后只好放弃,找到了esp8266烧写工具NODEMCU ?...再给arduino烧录程序时候还是很方便。 ? 直接选择就好了。然后打开从GitHubdown下来源码,编译上传。...在上传时候大家一定要选择对应端口啊,由于我电脑插了两根串口线,加上自己没有注意,导致了我烧录了很久也没有成功。最后才发现自己ESP8266串口线还插在电脑,索性给拔了。

    1.3K10

    ESP8266开发-Arduino IDE安装、配置与使用

    ESP8266是一款价格十分亲民wifi模块,在某宝一块ESP8266开发板只要10几块钱!可以买来玩玩一些物联网相关小项目。...ESP8266开发方式有多种,目前我了解到有: 使用Arduino IDE开发,沿用Arduino开发风格,简单易上手 使用ESP8266官方SDK开发 使用MicroPython开发,沿用Python...编程风格,此方式需要先给板子烧写一个特殊固件 因为我之前玩过Arduino,而且Arduino编程简单易操作,所以就选择先使用Arduino IDE来玩一玩ESP8266。...安装完之后,打开,可以看到我软件里已经有了Arduino AVR和ESP8266开发环境(注:ESP8266开发环境是我在旧版本Arduino IDE中安装过,安装新版本IDE后,之前配置也会自动加载进来...Arduino编程快速入门来测试ESP8266连网功能

    2.3K10

    制作wifi版badusb

    总的来说,就是将USB设备伪装成键盘设备,使目标主机被迫执行预制在固件恶意代码,通常情况下都会把badusb制作成与U盘极其相似,切不会被受害者所察觉,但我们不走平凡路,该设备使用ESP8266+ATMEGA32U4...或者打开ESP8266 WI-FI反向Shell 0x02Arduino ide Arduino ide是一款专业arduino 开发工具,主要用于arduino程序编写和开发,拥有开放源代码和电路图设计...,支持isp在线烧,同时支持Flash,Max/Msp,VVVV,PD,C,Processiong等多种程序兼容特点 首先在官网下载Arduino ide 掏出你板板 0x03烧录 可以看一下设备管理器或者在...Arduino里取得开发板信息确定是否连接 开发板选择Arduino Leonardo 选择合适端口 0x04写入固件ESP8266 这个是写入他web界面之类非常重要!...试想一下如果你在学校上机房课,插到老师电脑或者机房服务器,上课操作,放学锁门了也可以持续操作。

    1.6K10

    Arduino使用ESP8266连接机智云物联网平台

    一、ESP8266模块本地调试 当我们参考机智云官网给教程时,关于Arduino平台主要都是关于机智云官方自己开发板Gokit资料。...第一步:首先在官网下载机智云固件GAgent, ? 第二步:使用ESP8266下载工具ESPFlashDownloadTool,将固件下载至ESP8266中。 ?...将ESP8266通过串口转USB工具插在电脑,安装好驱动,选择中确驱动后,打开串口,填入在官网申请product_key和Product Secret后,就能在右边看见数据点了,此时再打开指令界面...LED接上220欧姆电阻,连在ArduinoD4,ESP8266CH-PD和vcc都接高电平。...---- 注意: 在给Arduino烧录程序时候要断开ESP8266Arduino串口连接,否则会有干扰导致代码烧录不成功; ESP8266-01只能供给3.3v电压,5v电压可能会烧坏WiFi模组

    3.8K30

    【物联网设备端开发】Arduino IDEModbusRTU, ModbusTCP库

    个人主页:帐篷Li 系列专栏:物联网设备端开发 gitee地址:IOTDeviceSDK物联网设备端开发工具包 ‍♂️ 物联网设备云提供开箱即用接入SDK,提供物联网设备端开发工具包 一...二、功能 支持所有Arduino平台 在多个实例任意组合中运行 Modbus RTU 主站 Modbus RTU 从站 Modbus TCP 主站 支持 ESP8266/ESP32 和 Ethernet...Security 从站 (ESP8266/ESP32) 支持Modbus功能码: 0x01 - Read Coils 0x02 - Read Input Status (Read Discrete...功能 现实生活复杂例子 ESP8266/ESP32 通过 Modbus 更新固件 ModbusRTU to ModbusTCP bridge 三、注意 寄存器偏移量是基于0。...基于MAX-485RS-485收发器工作在至少115200速率,而XY-017/XY-485由于某种原因只工作在9600速率

    29710

    外部中断使用方法

    完成这个小插曲后,你又要投入到主线剧情 吃饭这个主程序。 现在我想告诉你一个惊天秘密,其实你妈欺骗了你,你根本不是他们亲生,你是人造人,而你大脑里装备了一个arduino控制器!...[mw_shl_code=cpp,true]void loop() {  吃();}[/mw_shl_code]吃,是的,你没有看错,你的人生是如此幸福,就是不断 吃();循环但实际,你还有附加功能...忘记你蛋碎屌丝设定吧,我们要开始严肃讨论问题了 {:soso_e197:} 2.各种型号Arduino外部中断引脚 外部中断在不同Arduino型号上位置也不同,只有外部中断发生在以下端口,Arduino...mode为中断触发模式需要注意是在Arduino Due中,中断设置有点不同:attachInterrupt(pin, function, mode); //due 每个IO均可以进行外部中断,所以这里第一个参数为...同样在Arduino Due,该函数为detachInterrupt(interrupt );。

    10310

    设计世界最小 Arduino

    Arduino 是一款便捷灵活、方便上手开源电子原型平台,它经常被用于 3D 打印机、飞行器等诸多创意电子制作中。...当面对如此功能齐备平台时,如果自己动手去制作一款类 Arduino 兼容板又是种怎样体验? ?...作者 | Justin K 译者 | 弯月,责编 | 屠敏 以下为译文: 在最近一个项目中,我与朋友们合作创造了世界最小Arduino兼容板,我们给它起名叫作Atto!...Arduino是一个通用电路板,带有一个微处理器,可以通过编程完成各种功能,它背后有一个巨大社区。拥有一个庞大社区非常伟大,因为你可以得到来自世界各地支持!...我给我热风台起了个名字叫做“经理”,其中含义不言自喻。 ? 电路组装好后,就可以在我们原型编写初始测试固件了! ? 编写好Atto固件后,我们就可以进行测试(验证)了!

    1.2K10
    领券