用户工具

站点工具


learing:examples:serialevent

SerialEvent(串口事件)

这个例子演示了SerialEvent()功能。这个功能在loop里调用。串口缓冲区有数据的时候,就把取到的字符加到字符串,直到接收到换行符。由字符组成的字符串显示到串口监视器上,并清空。

ALPHA 8F328D-U核心

硬件

搭建电路

  1. ALPHA 8F328D-U模块插入并行扩展板1号槽位。
  2. USB线连接计算机与ALPHA 8F328D-U。

代码

MangoII

硬件要求

Arduino板
Circuit

连接arduino到电脑,打开串口监视器。

代码

/*
  Serial Event example
*/
 
String inputString = "";         // 字符串存储接收的数据
boolean stringComplete = false;  //字符是否完整
 
void setup() {
  // 初始化串口
  Serial.begin(9600);
  // 保留200字节来存储 :
  inputString.reserve(200);
}
 
void loop() {
  serialEvent(); //调用
  // 收到换行符后显示字符串
  if (stringComplete) {
    Serial.println(inputString);
    // 清空字符串
    inputString = "";
    stringComplete = false;
  }
}
 
/*
  每次loop循环的时候,当有新数据从硬串口RX到来的时候 SerialEvent就运行了。在loop中使用delay可以延时回应。多字节的数据也是可以的。
 */
void serialEvent() {
  while (Serial.available()) {
    // 获取新字符
    char inChar = (char)Serial.read();
    // 添加到inputString:
    inputString += inChar;
    // 如果接收到换行符, 设置一个标志
    // 主循环中可以调用:
    if (inChar == '\n') {
      stringComplete = true;
    }
  }
}
learing/examples/serialevent.txt · 最后更改: 2017/10/05 03:39 由 弘毅