一、三方库地址
推荐一个github上的开源仓库,助你快速进行串口开发
二、使用步骤
1.引入库
配置代码如下:
//项目配置文件 build.gradle(项目名) 或 settings.gradle(项目名) 下添加仓库
allprojects {
repositories {
maven { url 'https://jitpack.io' }
}
}
//dependencies下添加依赖
dependencies {
implementation 'com.github.Acccord:AndroidSerialPort:1.5.0'
}
//proguard-rules.pro文件下混淆
-keepclasseswithmembernames class * {
native <methods>;
}
-keep class android.serialport.* {*;}
2、使用库
/**
* 【打开串口】
* @param portStr 串口号
* @param ibaudRate 波特率
* @return 0:打开串口成功
* -1:无法打开串口:没有串口读/写权限!
* -2:无法打开串口:未知错误!
* -3:无法打开串口:参数错误!
*/
int openStatus = NormalSerial.instance().open("/dev/ttyS1", 9600);
/**
*【往串口发送数据】
* 注意发送的数据类型为hex,字符串需要转成hex在发送
* 转换方法:SerialDataUtils.stringToHexString(String s)
* @param hexData 发送的数据
*/
NormalSerial.instance().sendHex("AA033C0000E9")
/**
*【从串口接收数据】
* OnNormalDataListener 为串口的接收数据回调,建议在当前类去实现这个接口
* 不用时记得释放NormalSerial.instance().removeDataListener(this);
*/
NormalSerial.instance().addDataListener(new OnNormalDataListener() {
@Override
public void normalDataBack(String hexData) {
//注意,默认接收的类型为hex
//需要转换为字符串可调用SerialDataUtils.hexStringToString(hexData)
}
});