這多是你須要的串口調試工具庫

庫源碼在github.com/F1ReKing/An…java

前言

最近幾個月一直有持續在作跟硬件串口數據通訊的項目,一開始用的是谷歌官方串口庫android-serialport-api,簡單地封裝了接口,但硬件部門要求配置作下流控測試,但該項目僅支持串口名稱及波特率,因此在谷歌項目的基礎上添加支持數據位、數據位、中止位、流控等配置,想一想仍是整理下開源出來作下貢獻,幫助下有須要的人。android

此項目沒作協議解析,協議解析部分要根據協議作分包處理。git

依賴引入

Step 1. Add the JitPack repository to your build filegithub

Add it in your root build.gradle at the end of repositories:api

allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}
複製代碼

Step 2. Add the dependencymaven

dependencies {
        implementation 'com.github.F1ReKing:Android-SerialPort:1.1'
}
複製代碼

使用

1. 查詢串口列表

SerialPortFinder#getDrivers();
複製代碼

2. 配置串口參數

SerialPortHelper#Builder(String port, int baudRate).build(); //支持配置串口號,波特率(默認值115200)
setStopBits(int stopBits); // 支持設置中止位 默認值爲2
setDataBits(int dataBits); // 支持設置數據位 默認值爲8
setParity(int parity); // 支持設置檢驗位 默認值爲0
setFlowCon(int flowCon); // 支持設置流控 默認值爲0
setFlags(int flags); // 支持設置標誌 默認值爲0,O_RDWR  讀寫方式打開
複製代碼

3. 打開串口

SerialPortHelper#open();
複製代碼

4. 關閉串口

SerialPortHelper#close();
複製代碼

4. 發送數據

SerialPortHelper#sendBytes(byte[] bytes); // 支持發送byte[]
SerialPortHelper#sendHex(String hex); // 支持發送Hex
SerialPortHelper#sendTxt(String txt); // 支持發送ASCII碼
複製代碼

5. 接收數據

public interface ISerialPortDataListener {
	// 接收數據回調
    void onDataReceived(byte[] bytes);
   	// 發送數據回調
    void onDataSend(byte[] bytes);
}
複製代碼

6. 回調

// 串口打開狀態監聽
void setIOpenSerialPortListener(IOpenSerialPortListener IOpenSerialPortListener);

// 串口消息監聽
void setISerialPortDataListener(ISerialPortDataListener ISerialPortDataListener);
複製代碼
相關文章
相關標籤/搜索