【问题标题】:Sending 6numbers long integre from arduino to arduino从 arduino 向 arduino 发送 6 个长整数
【发布时间】:2015-07-21 12:20:55
【问题描述】:

我需要将两个单独的整数从一个 arduino 发送到另一个。距离和沟通都没有问题,但是不知道怎么办。

我需要在 0.2 秒内发送两个整数,每个整数从 -15000 到 15000。

所以一个 arduino 正在发送,另一个正在阅读。

【问题讨论】:

    标签: arduino communication send


    【解决方案1】:

    你可以试试 Serial.print(int) look at this

    对不起我的英语不好

    【讨论】:

      【解决方案2】:

      假设你有两个项目之间的串行链接,你可以

      1) 以基于文本的方式发送:

      // Sender
      Serial.print(value);
      
      // Receiver
      int value = Serial.parseInt();
      

      2) 以二进制方式发送:

      byte arr[4];
      
      // Sender
      for (i=0;i<4;i++)
          arr[i] = (value >> (8*(3-i))) & 0xFF;
      Serial.write(arr,4);
      
      // Receiver
      if (Serial.available() > 4)
      {
          Serial.readBytes(arr,4);
          value = 0
          for (i=0;i<4;i++)
              value = (value << 8) | (((int)arr[i]) & 0xFF);
      }
      

      第一种方式更简单,第二种方式更优化,如果添加一些控件会变得更可靠。

      如果您不使用串行通信,则必须更改这些函数(但可能任何接口都允许您发送和接收字节数组,因此几乎可以在任何情况下应用第二个)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-10-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多