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;
}
}
這樣,你就可以開始與串口通信了。接收數據的方法就不詳細寫了,有很多巨人已經幫我們實現了。網上也有官方的案例,請大家自行前往啦。
(安卓開發,從入門到放棄)