1、 if ( (path.length() = 0) | (baudrate = -1) throw new InvalidParameterException(); /* Open the serial port */ mSerialPort = new SerialPort(new File(path), baudrate); return mSerialPort; public void closeSerialPort() if (mSerialPort != null) mSerialPort.close(); mSerialPort = null;1,跳转到SerialPortPref
2、erences;-建立”setup”获取Application自定义的数据类,类成员mSerialPortFinder,在Application中构造(即初始化)addPreferencesFromResource(R.xml.serial_port_preferences);设置界面布局,对于device和baudrates进行配置ListPreference类!保存在data/data/android.serialport.sample中lib和shared_prefs中android.serialport.sample_preferences获取设备下面所有串口设备和路径,SerialP
3、ortFinder类!SerialPortFinder类!-如下itdriv = getDrivers().iterator();iterator为迭代器给getDrivers加上一个迭代器,遍历所有的驱动。Getdrivers中proc/tty/drivers遍历控制台设备得到要的驱动设备的名称和路径:1, 先遍历itdriv = getDrivers().iterator();即getDRIVERS吧每遍历到一个即添加到设备mDrivers.add(new Driver(w0, w1); driver类javaview plaincopy1. publicStringgetAllDevic
4、es()2. Vectordevices=new();3. /Parseeachdriver4. Iteratoritdriv;5. try6. /frank7. Log.d(TAG,getAllDevices1:);8. itdrivgetDrivers().iterator();/先遍历注册所有符合要求的终端设备9. 10. while(itdriv.hasNext()11. getAllDevices2:12. Driveritdriv.next();13. Fileitdevdriver.getDevices().iterator();14. 比较/dev下路径前缀是否相同的保存下来然
5、后再到/dev下面去所搜前缀相同的设备名:譬如:上面遍历到/dev/tty,那么这里就会搜索有没有dev/tty0,1,2,3等等类推这样最后就能在初始化的地方映射到/dev/ttyGS0 dev/s3c2410_serial0/1/2/3等等while(itdev.hasNext() Log.d(TAG, getAllDevices3: String device = itdev.next().getName(); String value = String.format(%s (%s), device, driver.getName(); devices.add(value); catch
6、(IOException e) e.printStackTrace();returndevices.toArray(newStringdevices.size();publicString getAllDevicesPath() Vector devices = / Parse each driver Iterator itdriv; /frankgetAllDevicesPath1: itdriv = getDrivers().iterator();while(itdriv.hasNext() Driver driver = itdriv.next(); itdev = driver.get
7、Devices().iterator(); String device = itdev.next().getAbsolutePath(); devices.add(device);输出D/SerialPort( 577): getAllDevices1: Found new driver1: /dev/ttyGS Found new driver3: 0 Found new driver2: 251 Found new driver0: g_serial /dev/ttyUSB 0-253 188 usbserial /dev/s3c2410_serial 64-67 204 ttySAC getAllDevices2: Found new deviceww: /dev/ttyGS0 getAllDevices3: /dev/s3c2410_serial0 /dev/s3c2410_serial1 /dev/s3c2410_serial2 /dev/s3c2410_serial3 getAllDevicesPath1:第一部分”setup”的初始化总的device基本到这里,遍历出了接口,波特率类似记录到这里
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1