Closed. This question needs debugging details。它当前不接受答案。
                            
                        
                    
                
            
                    
                
                        
                            
                        
                    
                        
                            想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
                        
                        7个月前关闭。
                    
                
        

我正在通过UART从Java发送byte []数组到Arduino。但是在Java中,高于127的值以2的补码表示,而Arduino无法正确理解。如何解决这个问题?

最佳答案

由于任何Java rs232库都对“签名”视而不见,因此您只需按原样发送字节即可。

例如,JSSC库(还有iirc RXTX库)都具有方法SerialPort.writeBytes(byte[])

在Arduino中,对于接收到的数据,您可以选择适当地使用uint8_tint8_t来解释带符号的符号:

uint8_t c = Serial.read();

08-06 04:36
查看更多