全Arduinoesp8266串口的常用函数.docx

上传人:b****3 文档编号:5300201 上传时间:2023-05-08 格式:DOCX 页数:6 大小:16.83KB
下载 相关 举报
全Arduinoesp8266串口的常用函数.docx_第1页
第1页 / 共6页
全Arduinoesp8266串口的常用函数.docx_第2页
第2页 / 共6页
全Arduinoesp8266串口的常用函数.docx_第3页
第3页 / 共6页
全Arduinoesp8266串口的常用函数.docx_第4页
第4页 / 共6页
全Arduinoesp8266串口的常用函数.docx_第5页
第5页 / 共6页
全Arduinoesp8266串口的常用函数.docx_第6页
第6页 / 共6页
亲,该文档总共6页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

全Arduinoesp8266串口的常用函数.docx

《全Arduinoesp8266串口的常用函数.docx》由会员分享,可在线阅读,更多相关《全Arduinoesp8266串口的常用函数.docx(6页珍藏版)》请在冰点文库上搜索。

全Arduinoesp8266串口的常用函数.docx

全Arduinoesp8266串口的常用函数

Arduinoesp8266■串口的常用函数

常用函数

l.Serial.begin(speed)

打开串口

参数:

speed:

波特率

2.SeriaLavailable()

获取串口上可读取的数据的字节数。

该数据是指已经到达并存储在接收缓存(共有64字节)中。

available。

继承自Stream实用类。

语法:

Serial.availableQ

参数:

返回值:

返回可读取的字节数

示例:

intincomingByte=0;//forincomingserialdata

voidsetup(){

Serial.begin(9600);//opensserialport,setsdatarateto9600bps

voidloop(){

//senddataonlywhenyoureceivedata:

if(Serial.availableO>0){

//readtheincomingbyte:

incomingByte=SeriaLread();

//saywhatyougot:

Serial.print("Ireceived:

");

Serial.printlnGncomingByte,DEC);

3.SeriaLread0

读串口数据,read。

继承自Stream实用类。

语法:

参数:

返回值:

串口上第一个可读取的字节(如果没有可读取的数据则返回-1)-int型。

示例:

intincomingByte=0;用于存储从串口读到的数据

voidsetup(){

Serial.begin(9600);//打六\,i2y1速率为9600bps

voidloop(){

//只在收到数据时发送数据

if(Serial.available{)>0){

//读取传入的字节incomingByte=Serial.read();

//指示你收到的数据

Serial.print(UIreceived:

n);

Serial.printIn(incomingByte,DEC);

}

}

刷新串口数据,等待串口数据完成输出。

S.SeriaLprintO

往串口发数据,无换行描述

以人类可读的ASCH码形式向串口发送数据,该函数有多种格式。

整数的每一数位将以ASCII码形式发送。

浮点数同样以ASCII码形式发送,默认保留小数点后两位。

字节型数据将以单个字符形式发送。

字符和字符串会以其相应的形式发送。

例如:

Serial.print(78)发送"78"

Serial.print(1.23456)发送"1.23"

Serial.printCN')发送"N"

Serial.printCHelloworld.")发送"Helloworld."

可选的第二个参数用于指定数据的格式。

允许的值为:

BIN(binary二进制),OCT(octal八进制),DEC(decimal十进制),HEX(hexadecimal十六进制)。

对于浮点数,该参数指定小数点的位数。

例如:

Serial.print(78zBIN)gives-1001110"

Serial.print(78zOCT)gives"116"

Serial.print(78,HEX)givesn4E"

Serial.println(1.23456,0)gives"I"

Serial.println(1.23456,2)gives"1.23"

Serial.println(1.23456,4)gives"1.2346"

你可以用F()把待发送的字符串包装到flash存储器。

例如:

Serial.print(F("HelloWorld"))

要发送单个字节数据,请使用Serial.write()o

添加F0相当于为字符串常量定义了PROGMEM属性,常量字符串仍然存储在FLASH中但是程序运行时不会再将常量字符串从FLASH中copy到SRAM中,而是直接读取FLASH中的字符串,这样一来就节约了SRAM,但是代码运行速度就下降了。

语法:

Serial.print(val)

Serial.print^al,format)

参数:

val:

要发送的数据(任何数据类型)

format:

指定数字的基数(用于整型数)或者小数的位数(用于浮点数)。

返回值:

size_t(long):

print。

返回发送的字节数(可丢弃该返回值)。

示例:

/*

UsesaFORloopfordataandprintsanumberinvariousformats.

*/

intx=0;//variable

voidsetup(){

Serial.begin(9600);//opentheserialportat9600bps:

voidloop(){

//printlabels

Serial.printC'NOFORMAT");//printsalabel

Serial.print("\t");//printsatab

Serial.printCDEC");

Se市LprintQt");

Serial.print(”HEX)

Serial.print("\t");

Serial.print("OCT");

Serial.print("\t");

Serial.print("BIN");

Serial.print("\t");

for(x=0;x<64;x++){//onlypartoftheASCIIchart,changetosuit

//printitoutinmanyformats:

SeriaLprint(x);//printasanASCII-encodeddecimal-sameas"DEC”

Serial.print(n\t");//printsatab

Serial.print(x/DEC);//printasanASCII-encodeddecimal

Serial.print("\t");//printsatab

SeriaLpnnt(x,HEX);//printasanASCII-encodedhexadecimal

Serial.print("\t");//printsatab

SeriaLpnnt(x,OCT);//printasanASCII-encodedoctal

〃thenaddsthecarriagereturnwith"printin'1

delay(200);//delay200milliseconds

Serial.printing)//printsanothercarriagereturn

6.SeriaLprintlnO

往串口发数据,类似Serial.printO,但有换行。

7.Serial.write0

写二进制数据到串口,数据是一个字节一个字节地发送的,若以字符形式发送数字请使用print。

代替。

语法:

Serial.write(val)

Serial.write(str)

Serial.write(buf,len)

参数:

val:

作为单个字节发送的数据

str:

由一系列字节组成的字符串

buf:

同一系列字节组成的数组

len:

要发送的数组的长度

返回:

write。

会返回发送的字节数,所以读取该返回值是可选的。

示例:

voidsetup(){

Serial.begin(9600);

voidloop(){

Serialw「ite(45);〃以二进制形式发送数字45

intbytesSent=Serial.write("hello");〃发送字符串"hello”并返回该字符串的长度。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2