庫源碼在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'
}
複製代碼
SerialPortFinder#getDrivers();
複製代碼
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 讀寫方式打開
複製代碼
SerialPortHelper#open();
複製代碼
SerialPortHelper#close();
複製代碼
SerialPortHelper#sendBytes(byte[] bytes); // 支持發送byte[]
SerialPortHelper#sendHex(String hex); // 支持發送Hex
SerialPortHelper#sendTxt(String txt); // 支持發送ASCII碼
複製代碼
public interface ISerialPortDataListener {
// 接收數據回調
void onDataReceived(byte[] bytes);
// 發送數據回調
void onDataSend(byte[] bytes);
}
複製代碼
// 串口打開狀態監聽
void setIOpenSerialPortListener(IOpenSerialPortListener IOpenSerialPortListener);
// 串口消息監聽
void setISerialPortDataListener(ISerialPortDataListener ISerialPortDataListener);
複製代碼