Android 串口通讯相关记录

1,首先要用到android-serialport-api开源项目,
关于android-serialport-api 的相关的介绍和怎么应用到自己的项目中去,百度大把的有
在开发中首先保证你的线没有接错,后面就不用考虑线的问题了,还有打开串口需要的文件对象不要搞错(我用的是/dev/ttyS2 com3)和波特率一定要和单片机一样
android-serialport-api 中的Serialport的构造方法的参数

参数 说明
device 要操作的文件对象(COM几)
baudrate 波特率
flags 文件操作的标志

Flags 文件的打开打开方式: O_RDONLY 以只读方式打开文件O_WRONLY 以只写方式打开文件O_RDWR 以可读写方式打开文件
我是这样写的 new SerialPort(new File(“/dev/ttyS2”,19200,0))

2,在电脑上下载一个串口通讯助手,保证执行受发数据
下面就开始解析协议了
首先在Application初始化串口得到输入和输出流,用输入和输出流读写数据,开启一个子线程不断的接受数据
在用输出流读取串口数据的时候不是一次性接受到全部数据,有可能第一次只接受到2byte的数据,所以要对数据的完整性进行判断
以串完整的数据包含:起始符,,数据长度,命令字,数据位(长度不固定),校验位,结束符(定义协议不同校验的数据也不同).所有的位置上的数据都正确才是完整的串数据
协议解析代码参考
http://blog.csdn.net/junfeng120125/article/details/9328947

数据传输都是按位(bit)发送和接受字节,
比如你要发送数据1000(整数)
转成16进制3E8
转成2进制11 11101000 一个字节 = 8bit 要使用2个字节 高位在前

2a 06 03 e8 c7 23
2a是起始符
06是数据长度6个字节
03 e8 数据位就是1000
C7校验位 前面所有的异或和
23是结束符

https://github.com/zhubajieForAndroid/AndroidSerialport

你可能感兴趣的:(Android 串口通讯相关记录)