Последовательная связь в android с использованием библиотеки usbSerialForAndroid.
Я использую библиотеку usbSerialForAndroid для последовательной связи в android.
В моем коде я успешно предоставил разрешение на чтение и запись на USB-порт.
Моя проблема заключается в том, что "я получаю данные в третий раз, когда пытаюсь читать из последовательного порта, первые два раза, когда я читаю полученные данные, составляют ноль байт".
Есть ли какие-то конкретные настройки, которые необходимо сделать для чтения и записи на последовательные порты в android?
Мой пример кода находится здесь
UsbManager manager = (UsbManager) getSystemService(Context.USB_SERVICE); List<usbserialdriver> availableDrivers = UsbSerialProber.getDefaultProber().findAllDrivers(manager); UsbSerialDriver driver = availableDrivers.get(0); UsbDeviceConnection connection = manager.openDevice(driver.getDevice()); port = driver.getPorts().get(0); try { port.open(connection); port.setParameters(9600, UsbSerialPort.DATABITS_8, UsbSerialPort.STOPBITS_1, UsbSerialPort.PARITY_NONE); int usbResultOut, usbResultIn1, usbResultIn2, usbResultIn3; String tOut = "S\r" //This is the data i am sending to serial device. byte[] bytesOut = tOut.getBytes(); //convert String to byte[] byte[] bytesIn1 = new byte[25]; byte[] bytesIn2 = new byte[25]; byte[] bytesIn3 = new byte[25]; usbResultOut = port.write(bytesOut, 1000); //write the data to serial device. usbResultIn1 = port.read(bytesIn1, 1000); //read the data but in my case 0 bytes received. usbResultIn2 = port.read(bytesIn2, 1000); //read the data but in my case 0 bytes received. usbResultIn3 = port.read(bytesIn3, 1000); //read the data, this time the data is received. }