欢迎使用串口通讯, 首先说明下我这里使用的是RS485通讯,采用的是半双工通讯, 所以收和发不能同时操作需要发送等待一段时间来接收完数据在发送其他指令了, 这里顺便在说下RS232, 它采用的是全双工通讯, 可以同时收发,但是只能一对一, 不像RS485可以串联同时最大128个收发器。好了,废话不多说,代码整起。
初始化操作
private InputStream inputStream = null;
private OutputStream outputStream = null;
//串口连接状态
private boolean serialState = false;
private String PORT;
private int BANDAGE;
//处理接收串口数据的线程池
private ExecutorService fixedThreadPool;
//接收串口的接口回调
private OnRequireSerialData listen;
//判断是那个串口
private String type = motorType;
public void setOnRequireSerialData(OnRequireSerialData onRequireSerialData) {
this.listen = onRequireSerialData;
}
//0、电机 1、电源
public static String motorType = "motorType";
public static String powerType = "powerType"