(基于Ardunio)ESP8266之串口通信

串口通信及本人遇到的无法烧录的情况

烧录解决方法见末尾注。

在官方的文档中可以看到esp8266有两个 UART 接口。
(基于Ardunio)ESP8266之串口通信_第1张图片
使用时插上USB线即可通信(芯片板上有CH340或PL2302)
在ardunio IDE中有如下函数:

Serial.begin(speed)
–开启串口,通常置于setup()函数中。
–speed:波特率,一般取值115200。

Serial.print(val)
–串口输出数据并。
Serial.println(val)
–串口输出数据并换行。

Serial.available()
–判断串口缓冲区的状态,返回从串口缓冲区读取的字节数。

Serial.read()
–读取串口数据,一次读一个字符,读完后删除已读数据。当没有可读数据时返回-1,整数类型。

Serial.readBytes(buffer, length)
–从串口读取指定长度的字符到缓存数组,返回存入缓存的字符数。
–buffer:缓存变量。
–length:设定的读取长度。

int data = 0;
int led = 2;
void setup() {
  Serial.begin(115200);             //开启串口监视器,设置波特率115200
  pinMode(led,OUTPUT);
  Serial.println("程序开始运行");    //打印输出一句话
  digitalWrite(led, HIGH);         //初始灯不亮
}

void loop() {
  delay(1000);
  //串口监视器可以辅助调试程序
  if (Serial.available() > 0)//串口接收到数据
  {
    data = Serial.read();//获取串口接收到的数据
    if (data == '1')
    {
      Serial.println("收到!");
      digitalWrite(led, LOW);
      delay(1000);  
      digitalWrite(led, HIGH);  //灯点亮1秒
    }else{
      Serial.println(Serial.available()); //输出等待的字符数
    }
  }
  else{
    Serial.print("h");
  }
}

以下为输入452144
(基于Ardunio)ESP8266之串口通信_第2张图片
(基于Ardunio)ESP8266之串口通信_第3张图片

注:当发送为汉字时,占用3个字符串。
无法烧录成功时(且程序编译正确),可以尝试按复位键。我查到的还有说先按Flash键在按复位键。我一般是在程序编译成功,准备上传时按。若有其他方法请各位大佬留言。

你可能感兴趣的:(esp8266,ardunio)