Android串口开发祥解Word文档格式.docx
《Android串口开发祥解Word文档格式.docx》由会员分享,可在线阅读,更多相关《Android串口开发祥解Word文档格式.docx(8页珍藏版)》请在冰豆网上搜索。
![Android串口开发祥解Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-12/7/9c02a09a-beef-4781-a3d5-6ef58fba96f8/9c02a09a-beef-4781-a3d5-6ef58fba96f81.gif)
if((path.length()==0)||(baudrate==-1)){
thrownewInvalidParameterException();
}
/*Opentheserialport*/
mSerialPort=newSerialPort(newFile(path),baudrate);
returnmSerialPort;
publicvoidcloseSerialPort(){
if(mSerialPort!
=null){
mSerialPort.close();
mSerialPort=null;
1,跳转到SerialPortPreferences;
--》建立”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
获取设备下面所有串口设备和路径,SerialPortFinder类!
SerialPortFinder类!
------------------------如下
itdriv=getDrivers().iterator();
iterator为迭代器给getDrivers加上一个迭代器,遍历所有的驱动。
Getdrivers中proc/tty/drivers遍历控制台设备
得到要的驱动设备的名称和路径:
1,先遍历itdriv=getDrivers().iterator();
即getDRIVERS
吧每遍历到一个即添加到设备mDrivers.add(newDriver(w[0],w[1]));
driver类
[java]
viewplaincopy
1.public
String[]
getAllDevices()
{
2.
Vector<
String>
devices
=
new
();
3.
//
Parse
each
driver
4.
Iterator<
Driver>
itdriv;
5.
try
6.
//frank
7.
Log.d(TAG,
"
getAllDevices1:
);
8.
itdriv
getDrivers().iterator();
//先遍历注册所有符合要求的终端设备
9.
10.
while(itdriv.hasNext())
11.
getAllDevices2:
12.
Driver
itdriv.next();
13.
File>
itdev
driver.getDevices().iterator();
14.比较/dev下路径前缀是否相同的保存下来
然后再到/dev下面去所搜前缀相同的设备名:
譬如:
上面遍历到/dev/tty,那么这里就会搜索有没有dev/tty0,1,2,3等等类推
这样最后就能在初始化的地方映射到/dev/ttyGS0
dev/s3c2410_serial0/1/2/3等等
while(itdev.hasNext()){
Log.d(TAG,"
getAllDevices3:
"
Stringdevice=itdev.next().getName();
Stringvalue=String.format("
%s(%s)"
device,driver.getName());
devices.add(value);
}
catch
(IOExceptione){
e.printStackTrace();
return
devices.toArray(new
String[devices.size()]);
public
String[]getAllDevicesPath(){
Vector<
devices=
//Parseeachdriver
Iterator<
itdriv;
{
//frank
getAllDevicesPath1:
itdriv=getDrivers().iterator();
while(itdriv.hasNext()){
Driverdriver=itdriv.next();
itdev=driver.getDevices().iterator();
Stringdevice=itdev.next().getAbsolutePath();
devices.add(device);
}
输出
D/SerialPort(
577):
getAllDevices1:
Foundnewdriver1:
/dev/ttyGS
Foundnewdriver3:
0
Foundnewdriver2:
251
Foundnewdriver0:
g_serial
/dev/ttyUSB
0-253
188
usbserial
/dev/s3c2410_serial
64-67
204
ttySAC
getAllDevices2:
Foundnewdeviceww:
/dev/ttyGS0
getAllDevices3:
/dev/s3c2410_serial0
/dev/s3c2410_serial1
/dev/s3c2410_serial2
/dev/s3c2410_serial3
getAllDevicesPath1:
第一部分”setup”的初始化总的device基本到这里,遍历出了接口,波特率类似
记录到这里