收藏 分享(赏)

Android串口开发祥解.docx

上传人:dreamzhangning 文档编号:2624316 上传时间:2018-09-23 格式:DOCX 页数:10 大小:115.37KB
下载 相关 举报
Android串口开发祥解.docx_第1页
第1页 / 共10页
Android串口开发祥解.docx_第2页
第2页 / 共10页
Android串口开发祥解.docx_第3页
第3页 / 共10页
Android串口开发祥解.docx_第4页
第4页 / 共10页
Android串口开发祥解.docx_第5页
第5页 / 共10页
点击查看更多>>
资源描述

1、以下是随笔,很乱的,也有错误和笔误。-记录的目的是后面 NDK 开发做前期的铺垫在 data/data/android.serialport.sample 中放有 lib 和 shared_prefs 中android.serialport.sample_preferences-来保存串口和波特率参数前面我们说过,Android 系统会将 Preference 元素的值存储在 sharedPreference 文件中。该文件存放路径位于DDMS 视图下的 data/data/packgename/shared_prefs/文件下,命名约定为:packagename_preferencse.xm

2、l。所以 android.serialport.sample_preferences.xml 就会存有我们在 SerialPortPreferences类中设定的设备和波特率,其就是一个共享文件哦public class Application extends android.app.Application public SerialPortFinder mSerialPortFinder = new SerialPortFinder();private SerialPort mSerialPort = null;public SerialPort getSerialPort() throws

3、 SecurityException, IOException, InvalidParameterException if (mSerialPort = null) /* Read serial port parameters */* Check parameters */if ( (path.length() = 0) | (baudrate = -1) throw new InvalidParameterException();/* Open the serial port */mSerialPort = new SerialPort(new File(path), baudrate);r

4、eturn mSerialPort;public void closeSerialPort() if (mSerialPort != null) mSerialPort.close();mSerialPort = null;1,跳转到 SerialPortPreferences;-建立”setup”获取 Application 自定义的数据类,类成员 mSerialPortFinder,在 Application 中构造(即初始化)addPreferencesFromResource(R.xml.serial_port_preferences);设置界面布局,对于device 和 baudra

5、tes 进行配置ListPreference 类!保存在 data/data/android.serialport.sample 中 lib 和 shared_prefs 中android.serialport.sample_preferences获取设备下面所有串口设备和路径,SerialPortFinder 类!SerialPortFinder 类!-如下itdriv = getDrivers().iterator();iterator 为迭代器给 getDrivers 加上一个迭代器,遍历所有的驱动。Getdrivers 中 proc/tty/drivers 遍历控制台设备得到要的驱动设

6、备的名称和路径:1, 先遍历 itdriv = getDrivers().iterator();即 getDRIVERS吧每遍历到一个即添加到设备 mDrivers.add(new Driver(w0, w1); driver 类java view plaincopy1. public String getAllDevices() 2. Vector devices = new Vector(); 3. / Parse each driver 4. Iterator itdriv; 5. try 6. /frank 7. Log.d(TAG, “getAllDevices1: “); 8. i

7、tdriv = getDrivers().iterator();/先遍历注册所有符合要求的终端设备9. 10. while(itdriv.hasNext() 11. Log.d(TAG, “getAllDevices2: “); 12. Driver driver = itdriv.next(); 13. Iterator itdev = driver.getDevices().iterator();/ 14. 比较/dev 下路径前缀是否相同的保存下来 然后再到/dev 下面去所搜前缀相同的设备名:譬如:上面遍历到/dev/tty ,那么这里就会搜索有没有 dev/tty0,1,2,3 等等

8、类推这样最后就能在初始化的地方映射到/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 (IOException e) e.printStackTrace();return devices.toArray(

9、new Stringdevices.size();public String getAllDevicesPath() Vector devices = new Vector();/ Parse each driverIterator itdriv;try /frankLog.d(TAG, “getAllDevicesPath1: “);itdriv = getDrivers().iterator(); while(itdriv.hasNext() Log.d(TAG, “getAllDevicesPath1: “);Driver driver = itdriv.next();Iterator

10、itdev = driver.getDevices().iterator();while(itdev.hasNext() Log.d(TAG, “getAllDevicesPath1: “);String device = itdev.next().getAbsolutePath();devices.add(device); catch (IOException e) e.printStackTrace();return devices.toArray(new Stringdevices.size();输出D/SerialPort( 577): getAllDevices1:D/SerialP

11、ort( 577): Found new driver1: /dev/ttyGSD/SerialPort( 577): Found new driver3: 0D/SerialPort( 577): Found new driver2: 251D/SerialPort( 577): Found new driver0: g_serialD/SerialPort( 577): Found new driver1: /dev/ttyUSBD/SerialPort( 577): Found new driver3: 0-253D/SerialPort( 577): Found new driver2

12、: 188D/SerialPort( 577): Found new driver0: usbserialD/SerialPort( 577): Found new driver1: /dev/s3c2410_serialD/SerialPort( 577): Found new driver3: 64-67D/SerialPort( 577): Found new driver2: 204D/SerialPort( 577): Found new driver0: ttySACD/SerialPort( 577): getAllDevices2:D/SerialPort( 577): Fou

13、nd new deviceww: /dev/ttyGS0D/SerialPort( 577): getAllDevices3:D/SerialPort( 577): getAllDevices2:D/SerialPort( 577): getAllDevices2:D/SerialPort( 577): Found new deviceww: /dev/s3c2410_serial0D/SerialPort( 577): Found new deviceww: /dev/s3c2410_serial1D/SerialPort( 577): Found new deviceww: /dev/s3

14、c2410_serial2D/SerialPort( 577): Found new deviceww: /dev/s3c2410_serial3D/SerialPort( 577): getAllDevices3:D/SerialPort( 577): getAllDevices3:D/SerialPort( 577): getAllDevices3:D/SerialPort( 577): getAllDevices3:D/SerialPort( 577): getAllDevicesPath1:D/SerialPort( 577): getAllDevicesPath1:D/SerialP

15、ort( 577): getAllDevicesPath1:D/SerialPort( 577): getAllDevicesPath1:D/SerialPort( 577): getAllDevicesPath1:D/SerialPort( 577): getAllDevicesPath1:D/SerialPort( 577): getAllDevicesPath1:D/SerialPort( 577): getAllDevicesPath1:D/SerialPort( 577): getAllDevicesPath1:第一部分”setup”的初始化总的 device 基本到这里,遍历出了接口,波特率类似记录到这里

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报