首页 新闻 会员 周边

android使用CH34xUARTDriver.jar读取串口数据乱码

0
[待解决问题]

项目需要使用android采集串口设备的数据,硬件使用CH34X芯片的“USB转UART”,


当设备连接在计算机上时,读取数据是正常的。
在计算机上使用两种方式进行了读取:
方式一:使用Xshell
方式二:自行编写代码:
自己编写的读取代码为:
byte[] readBuffer = new byte[256];
while ((len = inputStream.read(readBuffer)) != -1) {
data = new String(readBuffer, 0, len).trim();
}

在android设备上使用时,要使用该硬件设备的驱动,驱动程序为CH34xUARTDriver.jar
读取数据的代码为:
byte [] buffer = new byte[256];
while(true){
Message nmeaMsg = Message.obtain();
if(!isOpen){
break;
}
int length = CH34Driver.ch34Driver.ReadData(buffer,256);
if(length >0){
String nmeaData = "";
nmeaData = new String(buffer,0,length);
nmeaMsg.obj = nmeaData;
handler.sendMessage(nmeaMsg);//负责更新UI
}

        }

然而显示的数据却是乱码。

不知道是字符转换的问题,还是线路存在干扰的问题,
肯请大神指导。

calmmoon的主页 calmmoon | 菜鸟二级 | 园豆:206
提问于:2019-03-22 15:09
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册