arduino串口函数Serial库
[arduino]串口函数Serial库
Serial.begin(speed)
串口波特率定义函数。
开启串行通信接口并设置通信波特率。
一般取值300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, or 115200。
speed:速率,长整数型long
Serial.end()
禁止串口传输函数
关闭通信串口
Serial.available()
判断串口接收缓冲器的状态函数。读取串口接收缓冲器的值(128字节寄存器),以判断数据送达到串口。
判断串口缓冲器是否有数据装入
例:
1 | int incomingByte = 0; // for incoming serial data |
Serial.read()
读取串口函数。
返回串口的数据第一个字节,如果没有返回-1;整数类型int
Serial.peek()
串口读取函数。
串口数据中下一个字节内容,如果没有返回-1;整数类型int
Serial.flush()
清除串口缓冲器内容函数。
清空串口缓存
Serial.print()
串口输出数据函数。
输出字符串数据到串口
语法
Serial.print(val)
Serial.print(val,format)
参数
val: 打印的值,任意数据类型
format: 输出的数据格式,包括整数类型和浮点型数据的小数点位数。
例:
1 | Serial.print(78, BIN) 得到 "1001110" 二进制 |
Serial.println()
输出字符串数据到串口并换行
Serial.write()
串口输出数据函数。
输出二进制数据到串口。
语法
Serial.write(val)
Serial.write(str)
Serial.write(buf, len)
参数
val: 字节
str: 一串字节
buf: 字节数组
len: buf的长度
例:
1 | void setup() |
Serial.serialEvent()
串口数据准备好调用该函数。
read时触发的事件函数
语法
Serial.serialEvent{//statements}
参数
statements: 任何有效的语句。
注意
peek():功能类似于read(),但是我们知道当调用一次read()后,缓冲区的数据流会被读取并删除read过的数据,也就是available值会减少,但peek()不会出现类似情况,其功能类似于检测缓冲区的头部数据,反复调用peek()返回的值是一样的。用得好的话可以精简很多代码。