我需要从一个arduino发送两个单独的整数到另一个。距离和沟通没有问题,但我不知道该怎么做。
我需要在0.2秒内发送两个整数,每个整数从-15000到15000.
所以一个arduino正在发送,另一个正在阅读。
答案 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);
}
第一种方式更容易,第二种方式更加优化,如果添加一些控件,可以变得更可靠。
如果您不使用串行通信,则必须更改这些功能(但可能任何接口都允许您发送和接收字节数组,因此几乎任何情况下都可以应用第二个接口)