一、硬件连接
Arduino 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,并将接收的数据返回。
参考
ARDUINO实验室:
https://arduino.nxez.com/
Arduino编程语句参考:
http://www.taichi-maker.com/homepage/reference-index/arduino-code-reference/