zoukankan      html  css  js  c++  java
  • 安卓开发-安卓串口转USB-小白入门

    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;
    }

    }
    这样,你就可以开始与串口通信了。接收数据的方法就不详细写了,有很多巨人已经帮我们实现了。网上也有官方的案例,请大家自行前往啦。
    (安卓开发,从入门到放弃)

  • 相关阅读:
    lucene入门
    ssm框架整合
    springmvc异常处理器和拦截器
    软件测试的策略是什么?
    软件质量保证体系是什么 国家标准中与质量保证管理相关的几个标准是什么?他们的编号和全称是什么?
    • β测试
    • α测试
    • 白盒测试
    黑盒测试
    • 数据库的兼容性
  • 原文地址:https://www.cnblogs.com/jobyym/p/12679925.html
Copyright © 2011-2022 走看看