Closed. This question needs debugging details。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
7个月前关闭。
我正在通过UART从Java发送byte []数组到Arduino。但是在Java中,高于127的值以2的补码表示,而Arduino无法正确理解。如何解决这个问题?
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
7个月前关闭。
我正在通过UART从Java发送byte []数组到Arduino。但是在Java中,高于127的值以2的补码表示,而Arduino无法正确理解。如何解决这个问题?
最佳答案
由于任何Java rs232库都对“签名”视而不见,因此您只需按原样发送字节即可。
例如,JSSC库(还有iirc RXTX库)都具有方法SerialPort.writeBytes(byte[])
在Arduino中,对于接收到的数据,您可以选择适当地使用uint8_t
或int8_t
来解释带符号的符号:
uint8_t c = Serial.read();