ESP32学习记录<三>串口通信

ESP32学习记录<三>串口通信

前言

前面已经学习了如何操作io口点亮led灯,这次学习串口通信的原理。学习过51、32应该对串口通信都挺熟悉的,所以会操作基于arduino框架的库函数’实现串口通信就达到目的了。本文就介绍了esp32串口通信的基础内容。

一、通过串口打印出数据

1.初始化串口

首先在setup函数里对串口初始化,使用的函数如下:Serial.begin(115200);
该语句的意思就是把串口波特率设置为115200。

2.打印数据

这里使用到的函数是Serial.println(),普通用的是Serial.print(),它们的区别就是前者是换行输出,后者不换行。

  int x;
  Serial.println(x,BIN);
  delay(1000);
  Serial.println(x,OCT);
  delay(1000);
  Serial.println(x,DEC);
  delay(1000);
  Serial.println(x,HEX);
  delay(1000);

该例子就是将x变量的二进制,八进制,十进制以及十六进制都打印出来。同理,字符和字符串都可以通过该语句输出,这里就不举例了。

二、串口控制LED亮灭

1.接收串口发送的数据

可以给串口发送数据,实现对esp32io口的控制。本次以控制LED灯的亮灭为例子。

Serial.available()

该函数可判断串口是否有接收到外界发送过来的数据,它返回的是bool值,即布尔值,就1和0两种逻辑判断,返回的值为1就是有数据传入。

Serial.read()

read的中文意思我们都知道是读的意思,在这里这个函数的意思是读取串口接收的数据并存到指定的地址里。

2.实现功能

具体代码如下(示例):

const int led=2;
char x=0;
void setup() {
  pinMode(led,OUTPUT);
  Serial.begin(115200);
}

void loop() {
  while(Serial.available()>0)
  {
    x=Serial.read();
    if(x=='A')
    {
      digitalWrite(led,LOW);
    }
    else if(x=='B')
    {
      digitalWrite(led,HIGH);
    }
    
  }
}

当接送到字符‘A’时,LED为灭的状态;当接收到字符‘B’时,LED为亮的状态

总结

以上就是今天要讲的内容,本文简单介绍了esp32串口的使用,写得有点急,可能有点疏忽的地方,还请各位大佬指正。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值