问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Arduino开发ESP8266模块的串口通信教程

创作时间:
作者:
@小白创作中心

Arduino开发ESP8266模块的串口通信教程

引用
CSDN
1.
https://blog.csdn.net/weixin_46158019/article/details/136828956

Arduino开发ESP8266模块的串口通信是一个常见的任务,允许通过串行接口与其他设备或计算机进行通信。本文将详细介绍如何使用Arduino IDE开发ESP8266模块的串口通信功能。

硬件连接

将野火ESP8266模块通过USB连接到电脑。注意电源为3.3V。在Arduino IDE中,选择ESP8266开发板和串口端口。

代码编写

常用函数:

  1. 初始化串行通信,设置波特率。
  2. 在setup()函数中设置串行通信。
  3. 在loop()函数中发送和/或接收数据。
  4. 上传代码,点击Arduino IDE的上传按钮,将代码上传到ESP8266。
  5. 测试,打开串行监视器,查看发送和接收的数据。

以下是一个简单的示例,演示了如何在ESP8266上设置串行通信,发送和接收数据。

const int BAUD_RATE = 115200;
void setup() {
  // put your setup code here, to run once:
  Serial.begin(BAUD_RATE);//初始化串口通信
  Serial.setTimeout(2000);//设置超时时间2s,默认为1s
  delay(1000);//等待监视器连接
  Serial.println("hello esp8266!");//打印初始信息
  Serial.write(10);
  Serial.println("hello esp8266!");
  int len=Serial.write("hello\r\n");
  Serial.print(len,DEC);
  Serial.print("\r\n");
  Serial.println("hello esp8266!");
  byte message[3]={'a','b','c'};
  Serial.write(message,sizeof(message));
  Serial.print("\r\n");
}
void loop() {
  int len=0;
  byte rxBuf[10];
  // put your main code here, to run repeatedly:
  if( Serial.available() ) //检查串口是否有数据
  {
    // String data = Serial.readStringUntil('\n');//读取数据
    // Serial.println("Rx:");
    // Serial.println(data);   
    
    len = Serial.readBytesUntil('\n',rxBuf,sizeof(rxBuf));//读取数据
    Serial.println("Rx:");
    for(int i=0;i<len;i++)
    {
      Serial.write(rxBuf[i]);  
    }
    Serial.print("\r\n");
     
  }
  delay(1000);
}

测试结果

打开串行监视器(工具 > 串行监视器),并设置相同的波特率(在此例中为115200)。在串行监视器的输入框中输入一些文本,然后按Enter键。

程序运行如下:

  • 初始化结束,等待接收数据。
  • 发送数据123abc123,并将接收的数据返回。

参考

本文原文来自CSDN

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号