我的 Arduino 从站上有一个浮点变量,我想将它发送到我的 Raspberry Pi 3 Model B 主站。我所知道的是,我可能需要从 Arduino 发送一个字节数组,然后在我的 Raspberry Pi 上正确读取它。到目前为止,我没有运气使用它。
我不知道我应该如何阅读它,因为 WiringPi 库只提供 int 值作为回报(虽然发送 0-255 就像一个魅力)。
它已经在这里完成了,但是对于 Python 和这里。C 有一组不同的 I2C 库,并且不提供诸如结构之类的东西。
是否可以使用 WiringPi 从 I2C 读取字节数组并将其转换为 C 中的浮点数?
将 Arduino 上的数字相乘(去掉逗号)并在 Raspberry Pi 上除以也可以,但是通过 WiringPi 发送超过 255 的问题仍然存在。
以下是我在 Arduino 上发送数据的方式:
void sendData(){
Wire.write((byte*) &floatNumber, 4);
}
以下是我如何在 Raspberry 上读取 8 位值 (0-255)(例如,Wire.write(129)):
int fd;
int data;
wiringPiSetup();
fd=wiringPiI2CSetup(0x04);
data=wiringPiI2CRead(fd);
ui->lcdNumber->display(data);