1、串口设置
arduino串口通信
Serial.begin();
说明
开启串口,通常置于setup()函数中。
语法
Serial.begin(speed);
Serial.begin(speed,config);
参数
speed: 波特率,一般取值300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600,115200
config: 设置数据位、校验位和停止位。例如Serial.begin(speed,Serial_8N1); Serial_8N1中:8表示8个数据位,N表示没有校验,1表示有1个停止位。
返回
None
示例
[cpp] view plain copy
void setup() {
Serial.begin(9600); // opensserial port, sets data rate to 9600 bps
}
Serial.end();
说明
禁止串口传输函数。此时串口传输的pin脚可以作为数字IO脚使用。
语法
Serial.end()
参数
None
返回
None
2、清空串口缓存
Serial.flush();
说明
1.0版本之前为清空串口缓存,现在该函数作用为等待输出数据传送完毕。如果要清空串口缓存的话,可以使用:while(Serial.read() 》= 0)来代替。
语法
Serial.flush ()
参数
None
返回
None
while(Serial.read()》= 0){}
说明
因Serial.read()函数读取串口缓存中的一个字符,并删除已读字符。因此可以用这句代码来清空串口缓存。实验代码详见下文代码。
语法
while(Serial.read() 》=0){}
参数
None
返回
None
3、输出串口数据
将打印输出串口数据的函数在这一小节给出,方便大家阅读后面的各个示例代码。
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.println(val)
Serial.println(val,format)
参数
val: 打印的值,任意数据类型
format: 输出的数据格式,包括整数类型和浮点型数据的小数点位数。
返回
字节
Serial.SerialEvent();
串口数据准备好时触发的事件函数,即串口数据准备好调用该函数。
语法
Serial.serialEvent{//statements}
参数
statements: 任何有效的语句。
4、读串口缓存区数据
Serial.available();
说明
判断串口缓冲器的状态函数,用以判断数据是否送达串口。注意使用时通常用delay(100)以保证串口字符接收完毕,即保证Serial.available()返回的是缓冲区准确的可读字节数。
语法
Serial.available();
参数
None