zoukankan      html  css  js  c++  java
  • 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 == '
    ') {
          stringComplete = true;
        }
      }
    }

    难道是并行的程序??

    还有,波特率也不会算,I am so vegetable!

    参考连接:https://www.kancloud.cn/yundantiankong/arduino_examples/431653

  • 相关阅读:
    学生管理系统初步总结
    ListView控件详解
    Windows窗体应用布局详解
    winforms控件
    指尖上的数据库之探囊取物
    指尖上的数据库之无中生有
    银行bank系统项目实践
    QT Creator 快速入门教程 读书笔记(一)
    我的程序员之路(英语的学习)
    游戏开发完整学习路线(各个版本都有)
  • 原文地址:https://www.cnblogs.com/lfri/p/11606926.html
Copyright © 2011-2022 走看看