3、ESP32 数字输入输出

ESP-WROOM-32 + Aduino 实现点亮 LED

1、ESP32 控制数字输出

        设置GPIO输出:pinMode(GPIO, OUTPUT);

        写入数字输出低电平:digitalWrite(GPIO, LOW);

        写入数字输出高电平:digitalWrite(GPIO, HIGH);

        注:除 GPIO 6 至 GPIO 11(集成 SPI GPIO)和 GPIO 34、35、36 和 39(仅输入 GPIO)外,所有 GPIO 均可用作输出。

2、ESP32 读取数字输入

        设置GPIO输入:pinMode(GPIO, INPUT);

        读取数字输入:digitalRead(GPIO);

        除 GPIO 6 至 GPIO 11(集成 SPI GPIO)外,所有 GPIO 均可用作输入。

3、Code

        LED 连接 GPIO 5

        按键 连接 GPIO 4

const int buttonPin = 4;    // 按键 IO
const int ledPin =  5;    // LED IO

int buttonState = 0;


void setup()
{
    Serial.begin(115200);    // 串口
    pinMode(buttonPin, INPUT);    // 输入
    pinMode(ledPin, OUTPUT);    // 输出
}


void loop()
{
    buttonState = digitalRead(buttonPin);    // 读取按键状态
    Serial.println(buttonState);
    if (buttonState == HIGH) {
        digitalWrite(ledPin, HIGH);    // 输出高电平
    }

    else
    {
        digitalWrite(ledPin, LOW);    // 输出低电平
    }
}

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
ESP32-C3是一款微控制器,其GPIO支持模拟输入功能。模拟输入是通过模拟比较器实现的,可以将模拟电压与参考电压进行比较,输出相应的数字电平。下面是ESP32-C3模拟输入的基本操作步骤: 1. 配置GPIO为模拟输入模式。可以使用esp32c3_gpio_set_direction()函数将GPIO配置为输入模式,使用esp32c3_gpio_set_pull_mode()函数设置GPIO上拉或下拉。 2. 配置模拟比较器。可以使用esp32c3_comp_configure()函数配置模拟比较器,设置参考电压、温度补偿等参数。 3. 读取模拟输入值。可以使用esp32c3_comp_get_output()函数读取模拟比较器的输出值,判断输入电压是否超过参考电压,输出相应的数字电平。 下面是一个示例代码,演示如何使用ESP32-C3模拟输入: ```c #include "esp32c3.h" #define GPIO_PIN 12 #define COMP_REF 1100 // 参考电压为1.1V void app_main() { // 配置GPIO为输入模式,上拉 esp32c3_gpio_set_direction(GPIO_PIN, ESP32C3_GPIO_MODE_INPUT); esp32c3_gpio_set_pull_mode(GPIO_PIN, ESP32C3_GPIO_PULLUP_ONLY); // 配置模拟比较器,参考电压为1.1V esp32c3_comp_configure(ESP32C3_COMP_CHANNEL_0, COMP_REF); while(1) { // 读取模拟输入值 int value = esp32c3_comp_get_output(ESP32C3_COMP_CHANNEL_0); if(value == 0) { printf("输入电压低于参考电压\n"); } else { printf("输入电压高于参考电压\n"); } vTaskDelay(1000 / portTICK_RATE_MS); } } ``` 在上面的示例代码中,将GPIO_PIN配置为输入模式,上拉,然后配置模拟比较器,参考电压为1.1V。在循环中,不断读取模拟输入值,并根据输出值判断输入电压是否超过参考电压。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无敌暴龙战士朵拉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值