首页 > 其他分享 >ESP8266串口

ESP8266串口

时间:2024-08-07 20:50:45浏览次数:16  
标签:ESP8266 void 串口 println Serial data String

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

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

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

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

#include <Arduino.h>
/*
int counter = 0;
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}

void loop() {
  // put your main code here, to run repeatedly:
  counter = counter + 1;
  Serial.print(counter);
  Serial.print(":");
  Serial.println("Hellow World");
  delay(1000);
}
*/
void setup(){
  pinMode(2, OUTPUT);
  Serial.begin(115200, SERIAL_8N1);
  while(!Serial){
    ;//等待串口连接
  }
  Serial.println("我准备好了!");
}
char ch = 0;

void loop(){
  ch = char(Serial.read());
  if(ch == 'A'){
    digitalWrite(2, LOW);
    delay(1000);
    Serial.println(ch);
  }else{
    digitalWrite(2, HIGH);
  }
}
#include <SoftwareSerial.h>
//自定义串口 (RX, TX)   # D6接TX D7接RX
SoftwareSerial MySerial(D6, D7);

String data0;  // 接受内部数据
String data1;  // 接受外部数据


String receive0() {   // 接受内部数据
  String data;
  if (Serial.available()) {
    data = (char)Serial.read();
    data += receive0();
  }
  return data;
}
String receive1() {   // 接受外部数据
  String data;
  if (MySerial.available()) {
    data = (char)MySerial.read();
    data += receive1();
  }
  return data;
}


void setup() {
  Serial.begin(115200);    //内部串口初始化
  MySerial.begin(115200);  //外部串口初始化
}
void loop() {  
  data1 = receive1();
  if (data1 != "") {
    Serial.println(data1);    //接受的外部数据内部打印
  }  
  data0 = receive0();
  if (data0 != "") {
    MySerial.println(data0);    //接受的内部数据外部打印
  }
  

}

标签:ESP8266,void,串口,println,Serial,data,String
From: https://www.cnblogs.com/lodger47/p/18347873

相关文章

  • ESP8266通过CH340驱动板无法识别问题
    官方文档接线图,按照接线就行,电阻用10K,当时没有找到10K的我用的11K的也能用。1.RST、EN用上拉电阻接到3.3V2.VCC用3.3V供电3.GND、GPIO15接地就行4.TX、RX连接串口的RX、TX交叉连接就行还有,官方文档提示:尽量不要使用USB转TTL的3.3V或5V供电。建议使用2节干电池或......
  • 高性能USB转串口适配器,让USB和串行接口轻松实现双向通信!
    多功能数字接口转发器,让USB和串行接口轻松实现双向通信!高性能USB转串口适配器,助力你的嵌入式程序开发!USB转串口适配器可编程开发板TYPE接口是一种多功能的数字接口物理层协议转发器,可以转换USB接口和串行接口之间的双向通信。它支持多种嵌入式程序开发,并可以自由制定转发透传逻......
  • 十万个为什么 [串口] Windows 串口读写
    #include<Windows.h>#include<stdint.h>#include<stdio.h>//---------------------------------------------------------------------------classserial_t{public: ~serial_t(){close();} boolis_open(){returnm_handle!=INVALID......
  • 十万个为什么 [Windows] 获取串口号
    #include<Windows.h>#include<SetupAPI.h>//-lsetupapi#include<devguid.h>//-luuid#include<stdio.h>#include<map>usingnamespacestd;map<string,string>get_serial_ports(){ map<string,string>por......
  • STM32Cubemx在FreeRTOS中使用面向对象的方式使用串口
    文章目录前言一、创建FreeRTOS工程二、创建文件对串口进行封装三、代码编写总结前言本篇文章将带大家来学习使用面向对象的方式在FreeRTOS中使用串口,使用面向对象的方法非常适合编写可移植性强的代码,那么这篇文章就带大家来看一下这个代码要怎么写。一、创建FreeRT......
  • Qt串口助手滑块与STM32进行通信,控制步进电机正反转以及转动固定距离
    一、Qt滑块发送端1、简介QT中滑动条的控件叫QSlider,继承自QAbstractSlider类。主要用途是通过滑块的滑动的方式在一定范围内调节某个值。根据调节的后得到的结果去执行一些处理,比如将值写入或者用这个值进行计算,或者进行值传输等等。 通常使用这个控件是希望我们调节滑块......
  • arduino 串口通信
    arduino串口通信1.编写arduino通信程序新建arduino代码管理空间,用于存放arduino的串口通信程序。rosnoetic@rosnoetic-VirtualBox:~$mkdirarduino_ws需求:通过串口,由arduino向计算机发送数据实现:新建arduino文件添加如下代码:/**需求:由arduino向PC发送数据:hellowo......
  • 基于STC8H4K64TL单片机的串口1打印RTC(即实时时钟)功能调试
    基于STC8H4K64TL单片机的串口1打印RTC(即实时时钟)功能调试STC8H4K64TL单片机介绍STC8H4K64TL单片机管脚图(48个引脚)STC8H4K64TL单片机串口仿真与串口通信STC8H4K64TL单片机管脚图(32个引脚)STC8H4K64TL单片机管脚图(20个引脚)STC8H系列单片机管脚说明STC8H系列单片机I/O......
  • 基于STC8H系列单片机的串口1打印片内EEPROM擦除数据、读取数据、写入数据功能调试
    基于STC8H系列单片机的串口1打印片内EEPROM擦除数据、读取数据、写入数据功能调试STC8H4K64TL单片机介绍STC8H4K64TL单片机管脚图(48个引脚)STC8H4K64TL单片机串口仿真与串口通信STC8H4K64TL单片机管脚图(32个引脚)STC8H4K64TL单片机管脚图(20个引脚)STC8H系列单片机管脚......
  • Java串口编程:与硬件通信的实现
    Java串口编程:与硬件通信的实现大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!串口编程在与硬件设备通信时扮演着重要角色,尤其是在工业自动化、嵌入式系统和其他硬件设备的控制中。Java虽然在串口编程上并不直接支持,但通过第三方库(如JavaSerialPortAPI......