收发数据¶
设置数据格式¶
使用方法 setReadDataType(type)
和 setSendDataType(type)
来设置手法数据的格式:
设置接收消息格式¶
//SerialPort.READ_HEX 十六进制
//SerialPort.READ_STRING 字符串
//不设置则默认字符串形式
serialPort.setReadDataType(SerialPort.READ_HEX)
除此之外,你还可以在构建实例时设置接收数据格式:
//SerialPort.READ_HEX 十六进制
//SerialPort.READ_STRING 字符串
//不设置则默认字符串形式
val serialPort = SerialPortBuilder
.setReadDataType(SerialPort.READ_HEX)
.build(this)
设置发送数据格式¶
//SerialPort.SEND_HEX 十六进制
//SerialPort.SEND_STRING 字符串
//不设置则默认字符串形式
serialPort.setSendDataType(SerialPort.SEND_HEX )
除此之外,你还可以在构建实例时设置接收数据格式:
//SerialPort.SEND_HEX 十六进制
//SerialPort.SEND_STRING 字符串
//不设置则默认字符串形式
val serialPort = SerialPortBuilder
.setSendDataType(SerialPort.SEND_HEX)
.build(this)
目前针对于BLE设备的数据收发暂不支持设置格式,仅支持字符串格式。如果实在需要十六进制的数据格式,暂时可以参考传统设备的处理方式自行实现。
参考代码链接:HexStringToString、StringToHex
接收消息¶
字符串 和 十六进制¶
使用方法 setReceivedDataCallback(receivedDataCallback)
设置一个接收消息监听器:
serialPort.setReceivedDataCallback { data ->
}
除此之外,你还可以在构建实例时配置监听器:
val serialPort = SerialPortBuilder
.setReceivedDataCallback { data ->
}
.build(this)
字节数组¶
在接收消息的时候,也可以选择获取字节数组,方法如下:
serialPort.setReceivedBytesCallback { bytes ->
}
除此之外,你还可以在构建实例时配置监听器:
val serialPort = SerialPortBuilder
.setReceivedBytesCallback { bytes ->
}
.build(this)