ESP32读写IO点灯程序

本文记录了作者使用ESP32开发板进行点灯实验的过程,通过通用IO口实现数字读写控制LED灯。在实验中,通过断开和连接23针来控制LED的亮灭,并通过Arduino代码实现串口监视器显示高低电平切换。实验提出疑问,探讨了开发板可用的通用IO口、引脚的初始电平以及为何5V作为高电平输入时,接3V3引脚可能导致灯不亮的问题。

2021年6月28日,第一次尝试,利用ESP32开发板点灯,通用IO口,数字读写。

1)原理图

2)Arduino 代码

/*
  Switch_Led
  
  基于Blink程序修改

  Turns an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
  it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
  the correct LED pin independent of which board is used.
  If you want to know what pin the on-board LED is connected to on your Arduino
  model, check the Technical Specs of your board at:
  https://www.arduino.cc/en/Main/Products

  modified 2021 6 28
  by Scott Fitzgerald
  modified 2 Sep 2016
  by Arturo Guadalupi
  modified 8 Sep 2016
  by Colby Newman
  modified 28 Jun 2021
  by Seaca QFQ

  利用按键引脚GPIO23控制
  利用LED引脚GPIO22执行
  
  
  This example code is in the public domain.

  http://www.arduino.cc/en/Tutori
### 使用 PlatformIO 实现 ESP32点灯功能 要在 ESP32 上通过 PlatformIO 实现点灯功能,可以按照以下方法操作。此过程基于提供的参考资料以及常见的开发实践。 #### 平台配置 创建一个新的 PlatformIO 项目并设置 `platformio.ini` 文件中的环境变量如下所示[^2]: ```ini [env:esp32dev] platform = espressif32 board = esp32dev framework = arduino upload_speed = 921600 monitor_speed = 115200 ``` 上述配置指定了目标平台为 Espressif ESP32 和 Arduino 框架,并设置了上传速度和串监控速率。 --- #### 示例代码 编写一个简单的 Blink 程序来控制指定的 GPIO 引脚(例如 GPIO2)。以下是完整的代码示例[^4]: ```cpp #include <Arduino.h> // 定义用于闪烁的 GPIO 号 const int BLINK_GPIO = 2; void setup() { // 配置 GPIO2 作为输出引脚 pinMode(BLINK_GPIO, OUTPUT); } void loop() { digitalWrite(BLINK_GPIO, HIGH); // 将 GPIO 设置为高电平(点亮 LED) delay(1000); // 延迟 1 秒钟 digitalWrite(BLINK_GPIO, LOW); // 将 GPIO 设置为低电平(熄灭 LED) delay(1000); // 延迟 1 秒钟 } ``` 在此代码中: - `BLINK_GPIO` 被定义为常量,默认值为 2,代表连接到板载 LED 的 GPIO 引脚。 - 函数 `pinMode()` 用来初始化 GPIO 引脚的方向(输入或输出)。 - 函数 `digitalWrite()` 控制 GPIO 输出状态(高低电平),从而实现 LED 的亮灭效果。 --- #### 自定义 GPIO 配置 如果需要更改默认的 GPIO 编号,可以通过 Kconfig 或者 MenuConfig 工具完成自定义配置[^3]。具体步骤如下: 1. 打开项目的菜单配置工具 (`idf.py menuconfig`)。 2. 导航至 `"Example Configuration"` 下找到 `Blink GPIO number` 选项。 3. 修改其数值范围内的任意有效 GPIO 编号(注意避开特殊用途的引脚)。 修改后的 GPIO 数字会被自动应用到编译过程中,无需手动调整源码。 --- #### 测试与调试 确保硬件连线无误后,在 VSCode 中按下 F5 键或者点击 “Upload” 图标即可烧录固件到设备上。成功运行之后观察对应的 LED 是否按预期周期性地亮起和熄灭。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值