通过USB串行将Arduino ADC数据发送到Android平板电脑



我正在尝试使用USB串行通信将Arduino ADC数据发送到Android平板电脑。我在arduino端使用Serial.println()。我的问题是我无法解码在安卓端收到的数据。
例如。假设我从 arduino 发送Serial.println(768),我检查我的 android 接收缓冲区,它显示(55,54,56,13,10(。

如何将此数据解码回768值?

查看 ASCII 表,您会发现

55,54,56,13,10

代表

"768nr"

大多数编程语言都提供了字节值和字符/字符串及其字符串库之间的转换方法。因此,您不必自己实现解码。

请参阅 https://howtodoinjava.com/array/convert-byte-array-string-vice-versa/

或 UTF-8 字节 [] 到字符串

或您在网上找到的"字节到字符串Android"的任何其他内容

字符串原始数据 = " " ; 字符串最终数据 = " "; UsbSerialInterface.UsbReadCallback mCallback = new UsbSerialInterface.UsbReadCallback(( {//Defining a Callback,每当读取数据时都会触发。 @Override public void onReceivedData(byte[] arg0( {

byte[] buffer = arg0;
for (i =0;i <=(buffer.length-1);i++) {
if(buffer[i]!= 13) {
if(buffer[i]== 10){
finaldata = rawdata;
rawdata = "";
}else {
chdata = (char) buffer[i];
rawdata += chdata;
}
}
}
data = Integer.parseInt(finaldata);

}

最新更新