java - 为什么收不到数据
问题描述
根据存储库,我制作了一个应用程序,理论上使用 Android 作为主机 UsbManager 模式与光学设备通信:https ://github.com/mik3y/usb-serial-for-android
我连接到 ABACUS A9U 电缆并与光学设备通信。他发送要写入的字节并接收它们,但是当我请求读取响应时,我什么也没收到。
这是我的代码
private void Conection(UsbManager manager) throws IOException{
List<UsbSerialDriver> drivers = UsbSerialProber.getDefaultProber().findAllDrivers(manager);
if (drivers.isEmpty()){
Log.i(TAG,"Driver No Disponibles"+"\n");
}else{
UsbSerialDriver driver = drivers.get(0);
Log.i(TAG,"Driver "+driver.toString()+"\n");
UsbDeviceConnection con = manager.openDevice(driver.getDevice());
Log.i(TAG,"Conexión "+con+"\n");
UsbSerialPort port = driver.getPorts().get(0);
Log.i(TAG, "Puerto "+port+"\n");
port.open(con);
port.setParameters(9600,8,UsbSerialPort.STOPBITS_1,UsbSerialPort.PARITY_NONE);
Log.i(TAG,"Numero Conexión "+ con.getSerial() +"\n");
port.setDTR(true);
port.setRTS(true);
Log.i(TAG,"CTS "+ port.getCTS());
Log.i(TAG,"RTS "+ port.getRTS());
Log.i(TAG,"DTS "+ port.getDTR());
String ss = "55";
byte[] ss2 = ss.getBytes();
int PW1 = port.write(ss2,1000);
if (PW1 != 0){
Log.i(TAG,"Escritura 1 "+ PW1 + " Bytes Escritos con valor de "+ new String(ss2) +"\n");
}
String Frame_Request = "EE0000000001201310";
byte[] Frame_Request_B = Frame_Request.getBytes();
int PW2 = port.write(Frame_Request_B,1000);
if (PW2!= 0){
Log.i(TAG,"Escritura 2 "+ PW2 + " Bytes Escritos con valor de "+ new String(Frame_Request_B) +"\n");
Request.setText(new String(Frame_Request_B));
}else{
Log.i(TAG,"Error en Escritura 2 "+ PW2 + " Bytes Escritos con valor de "+ new String(Frame_Request_B) +"\n");
}
byte[] Frame_Response_B = new byte[14];
int PR1 = port.read(Frame_Response_B,14000);
if (PR1 != 0){
Log.i(TAG,"Lectura 1 "+ PR1 + " Bytes Leídos con valor de "+ new String(Frame_Response_B) +"\n");
Response.setText(new String(Frame_Response_B));
}else{
Log.i(TAG,"Error en Lectura 1 "+ PR1 + " Bytes Leídos con valor de "+ new String(Frame_Response_B) +"\n");
}
port.close();
}
}
输出是读取的 0 字节。有人能告诉我为什么吗?
解决方案
推荐阅读
- c# - C# 对象字典
- html - Bootstrap 4 - 有没有一种方法可以让桌面的文本居中而没有移动设备的中心?
- php - PHP - 从字符串中删除 XML 标记
- python - Pandas DataFrame 与对象的意思
- excel-formula - 在 Excel 中使用搜索、查找文本并将文本从一张工作表替换到另一张工作表
- c# - .ThenInclude 用于 Entity Framework Core 2 中的子实体
- php - 使用 php 和 phpmyadmin 更改数据库中的日期
- android - 从 Listview 创建位图时出现 OutOfMemoryException
- python-3.x - 从包含多个值的 pandas 列制作列表
- java - 打开 Feign Java 文档上传损坏