Arduino通过串口监视器收发数据
作者:互联网
在串口监视器中发送数据,板子收到数据并打印出来。
不需要额外电路,但是板子必须连接电脑,Arduino IDE的串口监视器也需要被打开。
代码
/* 串口事件 当新的串口数据到来时,我们会将它添加到一个缓存字符串中。当收到换行符时就将缓存字符串 输出到串口监视器并将字符串清空。 本例程的最好测试方式是使用不断发送NMEA 0183语句的GPS接收器模块 代码公开。 */ String inputString = ""; // 缓存字符串 boolean stringComplete = false; // 是否string已经完成缓存 void setup() { // 初始化串口: Serial.begin(9600); // 将inputString反转200个字符: inputString.reserve(200); } void loop() { // 如果缓存string接收完成: if (stringComplete) { Serial.println(inputString); // 清空String: inputString = ""; stringComplete = false; } } /* SerialEvent在arduino板上的RX引脚收到数据时会被系统自动调用。在系统内部,它是在每次loop函数执行时连带执行的。因此如果再loop使用delay,serialEvent的调用也会被延迟,这样就有可能一次收到>=2个字符。 */ void serialEvent() { while (Serial.available()) { // 获取新的字符: char inChar = (char)Serial.read(); // 将它加到inputString中: inputString += inChar; // 如果收到了换行符,就将一个“旗标”变量设置为true,这样loop函数就知道inputString已经缓存完成了: if (inChar == '\n') { stringComplete = true; } } }
难道是并行的程序??
还有,波特率也不会算,I am so vegetable!
参考连接:https://www.kancloud.cn/yundantiankong/arduino_examples/431653
标签:缓存,Arduino,stringComplete,inputString,监视器,串口,Serial,loop 来源: https://www.cnblogs.com/lfri/p/11606926.html