模拟一个串口通讯:
1)读取串口中的数据
2)可以根据您自己的产品协议,向串口中发送数据
实例Demo
可参考另外的一个串口通讯的Demo:JNI集成串口通讯的Demo
根据您的协议更改一下Demo中的串口名称和波特率:
/**
* 串口名称
*/
private String PATH = "/dev/ttyS4";
/**
* 波特率
*/
private int BAUDRATE = 9600;
开一个子线程不断读取川口中的数据,有数据就处理自己的逻辑:
private class ReadThreadBox extends Thread {
@Override
public void run() {
super.run();
while (boxFlag) {
int size;
try {
byte[] buffer = new byte[64];
if (mInputStreamBox == null) return;
/* read会一直等待数据,如果要判断是否接受完成,只有设置结束标识,或作其他特殊的处理 */
size = mInputStreamBox.read(buffer);
if (size > 0) {
Log.e(TAG, "run: buffer:"+buffer.toString()+" ");
sportInterface.onLockerDataReceived(buffer, size,path);
String mHTStr=mHexsToString(buffer,buffer.length);
}
} catch (IOException e) {
e.printStackTrace();
return;
}
//Log.i("SerialPort","read end");
}
}
}