通过串口通信控制 ESP32/ESP8266 的内置LED开关

使用串口通信

  • 使用串口通信可以使用内置的Serial对象, 内有丰富的函数来实现串口通信

  • 使用串口通信控制LED的开关

#define LED 2     // LED的针脚为GPIO2

void setup() {
  Serial.begin(9600);  // 初始化串口通信,波特率为9600
  Serial.println("Hello, XianLin"); // 向串口发送消息
  pinMode(LED, OUTPUT);  // 将LED的针脚设置为输出模式
}

void loop() {
  if (Serial.available() > 0) {  // 如果串口有数据可读
    char incomingByte = Serial.read();  // 读取数据
    Serial.print("Received message: ");  // 在串口上打印接收到的消息
    Serial.println(incomingByte);
    // 如果收到"1"则开灯, 收到0则关灯
    if (incomingByte == 49) {     // // "1"的ASCII码是49
      Serial.println("开灯");
      digitalWrite(LED, HIGH);  // 则点亮LED。
    } else if (incomingByte == 48) { // "0"的ASCII码是48
      Serial.println("关灯");
      digitalWrite(LED, LOW); // 否则熄灭LED。
    }
  }
}
  1. 这段代码是用来控制ESP32的GPIO2口连接的LED灯,通过串口通信控制LED灯的开关。

  1. 在使用串口通信时,需要在Arduino IDE或串口工具中设置相同的波特率(这里是9600)。

  1. 在setup()函数中,将GPIO2口设置为输出模式,以便能够控制LED灯的开关。

  1. 在loop()函数中,通过Serial.available()函数判断串口上是否有数据可读。如果有,使用Serial.read()函数读取数据。

  1. 读取到的数据是char类型,可以通过ASCII码对应的数字进行判断,如果是"1"则打开LED灯,如果是"0"则关闭LED灯。

  1. Serial.print()函数和Serial.println()函数中,使用双引号将要发送的消息括起来。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值