java usb串口_安卓开发-安卓串口转USB-小白入门

1.新建一个安卓项目。

434367ada7e2770d4749acf2220aff48.png

2.引入jar包:CH34xUARTDriver.jar(下载后直接拖入项目的libs下就可以了)

1118f8158121963f9104cfa24cfd0c8e.png

3.右键点击jar包,导入项目中(到时会弹出一个框,直接点ok就可以了)

67e2c62d1b6396658a51391d4dd4a7f2.png

4.检查libs文件是否与图片一致

d8dc2b31762c22f1396c4314ac01ad7a.png

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;

}

}

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

(安卓开发,从入门到放弃)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值