我在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 它有用吗?
答案 0 :(得分:-1)
https://code.google.com/p/android-serialport-api/ 这个api按需要工作,它会找到所有必需的端口。您需要在项目中添加.java文件。