Arduino Serial库的使用
1 Serial.begin()
2 Serial.end()
3 Serial.available()
4 Serial.read()
5 Serial.peek()
6 Serial.flush()
7 Serial.print()
8 Serial.println()
9 Serial.write()
10 Serial.serialEvent()
Serial.begin()
串口波特率定义函数。一般取值300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600, or 115200。
语法
Serial.begin(speed)
参数
speed: 速率,长整数型long
返回
None
例子
void setup() {
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
}
Serial.end()
禁止串口传输函数。此时串口传输的pin脚可以作为数字IO脚使用。
语法
Serial.end()
参数
None
返回
None
Serial.available()
判断串口接收缓冲器的状态函数。读取串口接收缓冲器的值(128字节寄存器),以判断数据送达到串口。
语法
Serial.available()
参数
None
返回
串口已经准备好的字节数
例子
int incomingByte = 0; // for incoming serial data
void setup()
{
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
}
void loop()
{
// send data only when you receive data:
if (Serial.available() > 0)
{
incomingByte = Serial.read(); // read the incoming byte:
Serial.print("I received: "); // say what you got:
Serial.println(incomingByte, DEC);
}
}
Serial.read()
读取串口函数。
语法
Serial.read()
参数
None
返回
串口的数据第一个字节,如果没有返回-1;整数类型int
Serial.peek()
串口读取函数。返回的是串口数据中下一字节的内容。
语法
Serial.peek()
参数
None
返回
串口数据中下一个字节内容,如果没有返回-1;整数类型int
Serial.flush()
清除串口缓冲器内容函数。
语法
Serial.flush()
参数
None
返回
None
Serial.print()
串口输出数据函数。
语法
Serial.print(val)
Serial.print(val,format)
参数
val: 打印的值,任意数据类型
format: 输出的数据格式,包括整数类型和浮点型数据的小数点位数。
返回
字节
例子
Serial.print(78, BIN) 得到 "1001110"
Serial.print(78, OCT) 得到 "116"
Serial.print(78, DEC) 得到 "78"
Serial.print(78, HEX) 得到 "4E"
Serial.print(1.23456, 0) 得到 "1"
Serial.print(1.23456, 2) 得到 "1.23"
Serial.print(1.23456, 4) 得到 "1.2346"
Serial.print('N') 得到 "N"
Serial.print("Hello world.") 得到 "Hello world."
Serial.println()
串口输出数据函数。与Serial.print()不同的是输出数据带回车符。
语法
Serial.println(val)
Serial.println(val,format)
参数
val: 打印的值,任意数据类型
format: 输出的数据格式,包括整数类型和浮点型数据的小数点位数。
返回
字节
Serial.write()
串口输出数据函数。写二进制数据到串口。
语法
Serial.write(val)
Serial.write(str)
Serial.write(buf, len)
参数
val: 字节
str: 一串字节
buf: 字节数组
len: buf的长度
返回
字节
例子
void setup()
{
Serial.begin(9600);
}
void loop()
{
Serial.write(45); // send a byte with the value 45
int bytesSent = Serial.write(“hello”);
//send the string “hello” and return the length of the string.
}
Serial.serialEvent()
串口数据准备好调用该函数。
语法
Serial.serialEvent{//statements}
参数
statements: 任何有效的语句。