android 串口学习
最近又有项目要用到串口通信,想在网上找一个好用的串口调试工具他们的真难啊,95%的博客提供的demo都是个半成品,
核心代码有用,但demo不能用与调试用,给初学者带来很多不便,
主要有以下问题:
1没有选这串口文件地址的下拉框,
2也没有调节波特率的地方,
3没有定时发送数据测试的功能
4没有文本转16进制的功能(硬件数据传输一般用16进制)
业务优化源码2,采用队列排队发送数据,发送,接收处于不同线程中,互补干扰,逻辑代码清晰
核心类
SerialPortFinder: 获取设备串口通信的文件信息类
SerialPort: 根据串口文件信息建立通信通道
SerialHelper: 业务数据封装类
SerialPortService: 后台服务,定时发送指令,获取数据
1 SerialPortFinder. getDrivers();
读取”/proc/tty/drivers”路径下文件内容,获取硬件通信地址名称流程图
2 SerialPortFinder. Driver.getDrivers()
在”/dev”目录下查找文件的开始名称等于硬件通信地址名称的文件
3 建立串口连接
判读串口文件是否有读写权限
获取su进程执行一条chmod666 ….命令
通过jni提供的open方法获取FileDescriptor对象,
建立通信的输入输出流