【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:
}
标签:setup,LED,框架,arduino,中断,ESP32,WiFi,Serial,void 来源: https://www.cnblogs.com/Balcher/p/16413198.html