安卓开发,安卓串口转USB通信
程序员文章站
2022-03-26 13:17:29
1.新建一个安卓项目。 2.引入jar包:CH34xUARTDriver.jar(下载后直接拖入项目的libs下就可以了) 3.右键点击jar包,导入项目中(到时会弹出一个框,直接点ok就可以了) 4.检查libs文件是否与图片一致 5.可以开始写入你的代码了。在MainActivity中就可以调用 ......
1.新建一个安卓项目。
2.引入jar包:ch34xuartdriver.jar(下载后直接拖入项目的libs下就可以了)
3.右键点击jar包,导入项目中(到时会弹出一个框,直接点ok就可以了)
4.检查libs文件是否与图片一致
5.可以开始写入你的代码了。在mainactivity中就可以调用串口代码了。
//初始化,并判断手机是否支持 myapp.driver = new ch34xuartdriver( (usbmanager) getsystemservice(context.usb_service), this, action_usb_permission); //initui(); if (!myapp.driver.usbfeaturesupported())// 判断系统是否支持usb host { dialog dialog = new alertdialog.builder(mainactivity.this) .settitle("提示") .setmessage("您的手机不支持usb host,请更换其他手机再试!") .setpositivebutton("确认", new dialoginterface.onclicklistener() { @override public void onclick(dialoginterface arg0, int arg1) { system.exit(0); } }).create(); dialog.setcanceledontouchoutside(false); dialog.show(); }
6.打开连接,并初始化串口。
public void myopen(view view){
baudrate = 115200;
databit = 8;
stopbit = 1;
parity = 0;
flowcontrol = 0;
if (!isopen) {
retval = myapp.driver.resumeusblist();
if (retval == -1)// resumeusblist方法用于枚举ch34x设备以及打开相关设备
{
toast.maketext(mainactivity.this, "打开设备失败!",
toast.length_short).show();
myapp.driver.closedevice();
} else if (retval == 0){
if (!myapp.driver.uartinit()) {//对串口设备进行初始化操作
toast.maketext(mainactivity.this, "设备初始化失败!",
toast.length_short).show();
toast.maketext(mainactivity.this, "打开" +
"设备失败!",
toast.length_short).show();
return;
}
toast.maketext(mainactivity.this, "打开设备成功!",
toast.length_short).show();
myapp.driver.setconfig(baudrate, databit, stopbit, parity,flowcontrol);
isopen = true;
//openbutton.settext("close");
//configbutton.setenabled(true);
//writebutton.setenabled(true);
//new mainactivity.readthread().start();//开启读线程读取串口接收的数据
} else {
alertdialog.builder builder = new alertdialog.builder(activity);
builder.seticon(r.mipmap.ic_launcher);
builder.settitle("未授权限");
builder.setmessage("确认退出吗?");
builder.setpositivebutton("确定", new dialoginterface.onclicklistener() {
@override
public void onclick(dialoginterface dialog, int which) {
// todo auto-generated method stub
// mainfragmentactivity.this.finish();
system.exit(0);
}
});
builder.setnegativebutton("返回", new dialoginterface.onclicklistener() {
@override
public void onclick(dialoginterface dialog, int which) {
// todo auto-generated method stub
}
});
builder.show();
}
} else {
//openbutton.settext("open");
//configbutton.setenabled(false);
//writebutton.setenabled(false);
isopen = false;
try {
thread.sleep(200);
} catch (interruptedexception e) {
// todo auto-generated catch block
e.printstacktrace();
}
myapp.driver.closedevice();
totalrecv = 0;
}
}
这样,你就可以开始与串口通信了。接收数据的方法就不详细写了,有很多巨人已经帮我们实现了。网上也有官方的案例,请大家自行前往啦。
转自:https://www.cnblogs.com/jobyym/p/12679925.html
上一篇: JavaScript中的 this用法
下一篇: 一种开箱即贼好用的移动端适配方案