当前位置: 移动技术网 > IT编程>移动开发>Android > 安卓开发,安卓串口转USB通信

安卓开发,安卓串口转USB通信

2020年04月12日  | 移动技术网IT编程  | 我要评论

石榴石滤料,郑赛龙,襄樊晚报

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  

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网