** 本次写这篇文章是自己做一下学习记录,如有错误,还请大家斧正!!!**
日后及时修正!感谢支持!
欢迎大家的关注 点赞 收藏 留言
前言
一、新建工程
二、项目函数介绍
三、代码编写
四、编译、烧录、运行
五、代码进阶
结束语
前言
串口作为每一位单片机开发者查看其运行状态的一项有效手段、无论你是学习51单片机还是STM32等,一部分人喜欢使用串口作为其开发项目,调试单片机的一项有效手段。可以说串口的使用可以让自己的程序开发事半功倍。那接下来就带大家走入串口的教程。
一、新建工程
首先打开Arduino IDE,点击 文件——> 点击新建,就会生成一个新的工程模板了。 (还可以点任务栏中“折了一角的书页”快速新建)。
然后给项目重命名,然后再保存。
这样一个新的工程就建好了。
二、项目基本函数介绍
1. 常用函数
(1)Serial.begin(speed)函数
Serial.begin(speed)
功能使用串口与计算机通信,需要先使用Serial.begin() 初始化ESP8266的串口通信功能作用初始化串口,可配置串口的各项参数入口参数波特率
串口通信通常会使用以下波特率:
300、600、1200、2400、4800、9600、14400、19200、28800、38400、57600、115200
此函数下默串口模式为:数据位8,无偶校验,停止位1。
想配置串口模式其函数为:
Serial.begin(speed, config)
参数说明speed波特率config数据位、校验位、停止位配置
函数使用:
例如Serial.begin(9600,SERIAL_8E2) 是将串口波特率设为9600,数据位8,偶校验,停止位2。
下面就是串口可以用到的模式:
config可选配置数据位校验位停止位SERIAL_5N15无1SERIAL_6N16无1SERIAL_7N17无1SERIAL_8N1(默认配置)8无1SERIAL_5N25无2SERIAL_6N26无2SERIAL_7N27无2SERIAL_8N28无2SERIAL_5E15偶1SERIAL_6E16偶1SERIAL_7E17偶1SERIAL_8E18偶1SERIAL_5E25偶2SERIAL_6E26偶2SERIAL_7E27偶2SERIAL_8E28偶2SERIAL_5O15奇1SERIAL_6O16奇1SERIAL_7O17奇1SERIAL_8O18奇1SERIAL_5O25奇2SERIAL_6O26奇2SERIAL_7O27奇2SERIAL_8O28奇2
(2)Serial.print()函数
Serial.print(val)
功能串口初始化完成后,我们便可以使用Serial.print() 向计算机发送信息了。作用向计算机打印信息val是你要输出的数据,各种类型的数据均可
还有个进阶函数:
Serial.println(val)
作用输出完指定数据后,再输出一组回车换行符
(3)Serial.read()函数
作用接收串口数据
**2. 串口的其他函数 **
其他函数数量多,功能复杂,在这里就不过多介绍了!下面给出地址教给大家自己学习吧!
下面给出学习的地址:
串口其他函数 (arduino.cn)https://wiki.arduino.cn/?file=005-%E4%B8%B2%E5%8F%A3%E9%80%9A%E4%BF%A1/004-%E5%85%B6%E4%BB%96%E5%87%BD%E6%95%B0
三、代码编写
可以看见我的开发板的上带的CH340接的是板子上的串口0,也就是GPIO1、GPIO3引脚。
示例代码如下:
int counter=0; // 计数器
void setup() {
// 初始化串口
Serial.begin(9600);
}
void loop() {
// 每loop循环一次,计数器变量加1
counter = counter+1;
// 输出变量
Serial.print(counter);
// 输出字符
Serial.print(":");
// 输出字符串;
Serial.println("Hellow World");
delay(1000);
}
四、编译、烧录、运行
在我前一篇博文就介绍了如何编译、烧录,这里就不再过多赘述了,还望谅解!
这里就可以看见串口打印以计数递增的顺序打印Hello Word。
五、代码进阶
通过电脑串口发送字符控制LED灯的电亮。
接下来就演示进阶示例代码:
void setup() {
// put your setup code here, to run once:
pinMode(2,OUTPUT);
Serial.begin(115200,SERIAL_8N1);
while (!Serial) {
; // wait for serial port to connect. 等待串口连接。
}
Serial.println("我准备好了!");
}
char ch=0;
void loop() {
// put your main code here, to run repeatedly:
// Serial.print("helloward!");
// Serial.println("我准备好了!");
ch=char(Serial.read());
if(ch=='A')
{
digitalWrite(2,LOW);
delay(1000);
Serial.println(ch);
}
else
{
digitalWrite(2,HIGH);
}
}
现象:
结束语
关于此次基于Arduino IDE开发的ESP8266(ESP-12F)项目3 ——串口通信的介绍就讲到这里了,如果什么问题请再评论区留言。
接下来会陆陆续续发布一些其他的教程,敬请期待!感谢大家的支持!如有觉得这篇文章对你有所帮助的,还请点赞、收藏吧!
版权归原作者 电控_RMer 所有, 如有侵权,请联系我们删除。