当前位置: 首页 > news >正文

ESP32-C3实现GPIO输入-判断高低电平

在 ESP32-C3 上实现 GPIO 输入并判断电平状态相对简单。以下是如何在 Arduino IDE 中配置 GPIO 作为输入,并在循环中检查电平状态的步骤:

1. 定义 GPIO 管脚

首先,定义你将要使用的 GPIO 管脚号。

#define GPIO_INPUT_PIN 2 // 定义一个 GPIO 管脚作为输入

2. 初始化 GPIO

在 setup() 函数中,配置该 GPIO 管脚为输入模式。

void setup() {pinMode(GPIO_INPUT_PIN, INPUT); // 设置 GPIO 管脚为输入模式
}

3. 检查电平状态

在 loop() 函数中,使用 digitalRead() 函数检查 GPIO 管脚的电平状态。

void loop() {// 读取 GPIO 管脚的电平状态int pinState = digitalRead(GPIO_INPUT_PIN);// 根据电平状态执行操作if (pinState == HIGH) {// 如果电平为高Serial.println("GPIO pin is HIGH");} else {// 如果电平为低Serial.println("GPIO pin is LOW");}// 为了防止串口输出过快,可以添加一个小的延迟delay(1000);
}

必要时可以使用上拉和下拉前提时板子支持 

  1. 添加上拉/下拉电阻

    pinMode(ADCPIN, INPUT_PULLUP); // 使用内部上拉电阻
    // 或者使用外部上拉电阻连接到VCC
    // pinMode(ADCPIN, INPUT_PULLDOWN); // 使用内部下拉电阻(如果支持)
    // 或者使用外部下拉电阻连接到GND

完整源码

#define GPIO_INPUT_PIN 2 // 定义一个 GPIO 管脚作为输入void setup() {// 初始化串口Serial.begin(115200);// 设置 GPIO 管脚为输入模式pinMode(GPIO_INPUT_PIN, INPUT);
}void loop() {// 读取 GPIO 管脚的电平状态int pinState = digitalRead(GPIO_INPUT_PIN);// 根据电平状态执行操作if (pinState == HIGH) {// 如果电平为高Serial.println("GPIO pin is HIGH");} else {// 如果电平为低Serial.println("GPIO pin is LOW");}// 延迟,以避免输出过快delay(1000);
}

 


http://www.mrgr.cn/news/46695.html

相关文章:

  • 书生大模型基础岛第四关
  • 一段新闻(CRYPTO)
  • day09_kafka高级
  • 多线程与多进程性能分析与最佳实践
  • 【Flink】Flink内存管理
  • 更快、更强!地平线ViG,基于视觉Mamba的通用视觉主干网络
  • 图形学技术博客
  • JAVA实现公众号扫码登录和关注功能实战
  • 【论文速看】DL最新进展20241009-图像生成、多模态、医学扩散模型、行人重识别
  • 数据分析库Pandas
  • Matter蓝牙解析
  • Linux系统命令:使得指定的linux命令可以在用户注销或终端关闭后继续运行的工具nohup详解
  • 灯塔:Vue笔记
  • 选型工单管理系统,从原理到应用全面解读
  • 基于多能互补的热电联供型微网优化运行【matlab代码】
  • 世界职业院校技能大赛-软件测试赛项模拟案例参考分享
  • 基于深度学习的实时医学影像增强
  • 03. prometheus 监控 Linux 主机
  • k8s的部署
  • LabelImag标注工具环境配置
  • ESP32-C3实现GPIO输出高低电平
  • SDK4(note下)
  • 信息安全工程师(41)VPN概述
  • 【分立元件】案例:电感焊盘部分发黑原因有什么?
  • RecBole:AttributeError: module ‘ray.tune’ has no attribute ‘report’
  • 【MySQL】表的内外连接