在工业级APP开发时,总是回避不了串口通讯的问题,让前端自己通过NDK与串口进行通讯,成本高稳定新不好,今天给大家用第三方库解决一下这个世纪难题
1.第三方库
基于谷歌官方android-serialport-api 编译修改,主要包含SerialPortFinder和SerialPort,进行串口地址的获取和串口内容的开启、写入、读取及关闭。
如果你能力够强可以直接去官方下载改编
2.使用方法
(1)第一步要在Activity上引入监听事件
public class DYTestActivity extends BaseActivity implements SerialController.OnSerialListener{}
(2)确定好主板信息,且实例化对象
SerialController mSerialController = new SerialController();
(3)绑定监听
mSerialController.setOnSerialListener(TestActivity.this);
(4)打开串口
/**
* 打开串口
*
* @param serialPath 串口地址
* @param baudRate 波特率
* @param flags 标志位
*/
mSerialController.openSerialPort(serialPath ,
Integer.parseInt(baudRate),
Integer.parseInt(flags));
(5)接收反馈
/**
* 串口数据返回
*/
void onReceivedData(byte[] data, int size){
//这里就可以处理你的逻辑了,不同的机型有不同的处理方式,具体要看主板协议密码
}
/**
* 串口打开成功
*/
void onSerialOpenSuccess(){
//Log.v("TAG","串口打开成功");
}
/**
* 串口打开异常
*/
void onSerialOpenException(Exception e){
//处理异常情况一般在这里得关闭
}
(6)关闭串口
mSerialController.closeSerialPort();
3.注意事项
按照流程干就完了,别关闭后发送指令就行
4.第三方库地址
git
打完收工