我正在 Odroid Xu4 中制作一个 Android 应用程序,连接到它的是 Xbee Pro s2,通过 USB 串行转换器和 cp210x 驱动程序使用 ttyUBS0 端口,但在应用程序内部它与 ttyUBS0 断开连接并使用总线 /dev/bus/usb/.. 不,我必须打开串行端口才能访问 xbee 的 Rx/Tx。我现在正在使用 usb-serial-for-android https://github.com/mik3y/usb-serial-for-android/tree/master/usbSerialExamples
但这并没有多大帮助,我的应用程序一打开 xbee 设备就崩溃了。这是我的代码
List<UsbSerialDriver> availableDrivers = UsbSerialProber.getDefaultProber().findAllDrivers(manager);
if (availableDrivers.isEmpty()) {
return;
}
UsbSerialDriver driver = availableDrivers.get(0);
Toast.makeText(this, "connection done" + driver, Toast.LENGTH_LONG).show();
List<UsbSerialPort> availableports = driver.getPorts();
for (UsbSerialPort port : availableports) {
Toast.makeText(this, "port please :" + port.getPortNumber(), Toast.LENGTH_LONG).show();
UsbDeviceConnection connection = manager.openDevice(driver.getDevice());
try {
port.open(connection);
Toast.makeText(this," yes i m connected to port", Toast.LENGTH_LONG).show();
port.setParameters(BAUDRATE, 8, 1, 0);
Toast.makeText(this," baudrate set", Toast.LENGTH_LONG).show();
PORT = driver.getDevice().toString();
if (PORT == null) {
Toast.makeText(this, "not connected",Toast.LENGTH_LONG).show();
}
else
{
XBeeDevice mydevice = new XBeeDevice(PORT, BAUDRATE);
Toast.makeText(this, "connected",Toast.LENGTH_LONG).show();
try {
mydevice.open(); //App crashes now :(
Toast.makeText(this, "connected woow",Toast.LENGTH_LONG).show();
} catch (XBeeException e) {
e.printStackTrace();
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
有人可以指导。我在代码中做错了吗?这是我发现的另一个库http://antipastohw.pbworks.com/w/page/41729078/How-to%20use%20a%20serial%20port%20with%20Android,%20Liquidware%20Ambrosia%20edition 有帮助吗?