加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

Arduino Serial库的使用

(2016-05-31 08:59:08)
分类: 电子
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: 任何有效的语句。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有