我目前正在开发一个项目,该项目通过串行端口将数据从 java 应用程序发送到 arduino。
我遇到的问题如下,我需要将一个整数拆分为 2 个字节,然后在 Arduino 中将它们组合成一个整数。但反过来(Arduino->java)只会给我带来麻烦。arduino 部分并不难,而且工作起来就像一个魅力,但尽管我查看了已经发布在这里的相关问题和答案,但我无法完全弄清楚如何将字节正确地组合成一个 int。
这是拒绝工作的java代码:
int in = 500;
byte[] data = new byte[2];
data[0] = (byte)(in & 0xFF);
data[1] = (byte)((in >> 8) & 0xFF);
int res = data[0] | (data[1] << 8);
我从中得到的控制台打印是:
data[0] = -12
data[1] = 1
res = -12
但我需要res为500!