【ESP32】arduino框架下ESP32的一些基础内容
2022/6/26 23:31:48
本文主要是介绍【ESP32】arduino框架下ESP32的一些基础内容,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
一、中断
ESP32每个引脚都可以当做中断源
触发中断情况有五种:
- FALLING 下降
- RISING 上升
- CHANGE 改变
- LOW 低电平
- HIGH 高电平
这里就通过一个按键中断来记录一下ESP32的中断、LED、串口相关的使用。
功能:GPIO4低电平触发中断,累积触发5次以上中断之后,中断取消。通过LED以及串口打印可查看中断情况。
主要涉及到:中断的设置,中断的使能,中断的失能。
#define LED 2 #define KEY 4 volatile int counter = 0; // 中断中加入可变值的时候需要加volatile // 初始化函数 void setup(){ pinMode(LED, OUTPUT); // LED灯的初始化 Serial.begin(115200); // 串口的初始化 pinMode(KEY, INPUT_PULLUP); // 按键初始化,上拉 attachInterrupt(KEY, Interrupt1, FALLING); // 将按键和中断源绑定起来,下降沿触发中断 } // 循环函数 void loop(){ digitalWrite(LED, LOW); // 灯灭 if( counter > 5){ detachInterrupt(KEY); //取消中断 Serial.println("中断停止"); counter = 0; } delay(500); } // 中断函数 void Interrupt1(){ counter++; Serial.printf("第%d次按下按钮\n", counter); digitalWrite(LED, HIGH); // 灯亮 }
二、WiFi连接
#include <WiFi.h> void setup() { // put your setup code here, to run once: Serial.begin(115200); WiFi.begin("wifiname", "wifipassword"); // 网络名称,密码 // 检查有没有连接成功,没有成功继续连接 while (WiFi.status() != WL_CONNECTED) { Serial.println("等待连接..."); delay(500); } Serial.print("IP地址:"); Serial.println(WiFi.localIP()); } void loop() { // put your main code here, to run repeatedly: }
三、创建WiFi热点
#include "WiFi.h" const char *ssid = "ESP32Test"; const char *password = "123123456"; void setup() { // put your setup code here, to run once: Serial.begin(115200); WiFi.softAP(ssid, password); Serial.print("\n WiFi接入点的ip: "); Serial.println(WiFi.softAPIP()); } void loop() { // put your main code here, to run repeatedly: }
这篇关于【ESP32】arduino框架下ESP32的一些基础内容的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27数据结构与算法面试题详解及练习
- 2024-12-27网络请求面试题详解与实战
- 2024-12-27数据结构和算法面试真题详解与实战教程
- 2024-12-27网络请求面试真题解析与实战教程
- 2024-12-27数据结构和算法大厂面试真题详解与实战指南
- 2024-12-27TS大厂面试真题解析与应对策略
- 2024-12-27TS大厂面试真题详解与解析
- 2024-12-27网站安全入门:如何识别和修复漏洞
- 2024-12-27SQL注入基础教程
- 2024-12-27初学者指南:理解和修复跨域漏洞