用户工具

站点工具


reference:language:serial_available

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
reference:language:serial_available [2017/10/04 06:36] 弘毅reference:language:serial_available [2023/06/07 04:23] (当前版本) – 外部编辑 127.0.0.1
行 1: 行 1:
 +[[reference:language:serial|Serial]]
 +====== available() ======
 +
 +===== 说明 =====
 +
 +获取从串口读取有效的字节数(字符)。这是已经传输到,并存储在串行接收缓冲区(能够存储64个字节)的数据。 available()继承了 Stream类。
 +===== 语法 =====
 +
 +Serial.available()
 +
 +仅适用于Arduino Mega : 
 +\\ Serial1.available() 
 +\\ Serial2.available() 
 +\\ Serial3.available()
 +===== 参数 =====
 +
 +
 +===== 返回 =====
 +
 +可读取的字节数
 +===== 例子 =====
 +<code cpp>
 +incomingByte = 0; //传入的串行数据
 +
 +void setup() {
 +  Serial.begin(9600);     // 打开串行端口,设置传输波特率为9600 bps
 +}
 +
 +void loop() {
 +
 +  //只有当你接收到数据时才会发送数据,:
 +  if (Serial.available() > 0) {
 +    //读取传入的字节:
 +    incomingByte = Serial.read();
 +
 +    //显示你得到的数据:
 +    Serial.print("I received: ");
 +    Serial.println(incomingByte, DEC);
 +  }
 +}
 +</code>
 +
 +Arduino Mega 的例子:
 +<code cpp>
 +void setup() {
 +  Serial.begin(9600);
 +  Serial1.begin(9600);
 +
 +}
 +
 +void loop() {
 +  //读取端口0,发送到端口1:
 +  if (Serial.available()) {
 +    int inByte = Serial.read();
 +    Serial1.print(inByte, BYTE); 
 +
 +  }
 +  //读端口1,发送到端口0:
 +  if (Serial1.available()) {
 +    int inByte = Serial1.read();
 +    Serial.print(inByte, BYTE); 
 +  }
 +}
 +
 +</code>
 +