从arduino到arduino发送6个长整数

时间:2015-07-21 12:20:55

标签: arduino communication send

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

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

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

2 个答案:

答案 0 :(得分:0)

您可以尝试使用Serial.print(int) look at this

抱歉我的英文不好

答案 1 :(得分:0)

假设您在这两个项目之间有一个串行链接,您可以

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);
}

第一种方式更容易,第二种方式更加优化,如果添加一些控件,可以变得更可靠。

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