主题 : 编写串口助手,4串口同时收发(源代码) 复制链接 | 浏览器收藏 | 打印
级别: 骑士
UID: 29604
精华: 9
发帖: 171
金钱: 1830 两
威望: 366 点
贡献值: 9 点
综合积分: 522 分
注册时间: 2010-10-01
最后登录: 2016-04-13
楼主  发表于: 2012-08-16 17:25

 编写串口助手,4串口同时收发(源代码)

管理提醒: 本帖被 xoom 执行加亮操作(2012-10-02)
效果图:
横屏


竖屏



说明:
1. 使用了http://code.google.com/p/android-serialport-api/的项目的serialport api和jni;
2. 支持4串口同时收发,有定时自动发送功能,收发模式可选Txt或Hex模式;
3. n,8,1,没得选;
4. 为减轻界面卡顿的情况,接收区的刷新采用单独的线程进行定时刷新;
5. 发送区的数据以及一些设置项,在程序关闭时会自动保存,打开时自动载入;
6. jni使用最新的NDKr8b重新编译了一下

简单编写步骤:
1.新建一个项目,自己起个名字
2.直接复制serialport api和jni文件夹到新建的工程,如果不想自己编译jni,就连libs文件夹也一起复制
3.去android官方网站下载NDK,解压,在CMD中转到jni目录,并执行 绝对路径\ndk-build
4.自己再封装一个工具类或直接使用SerialPort类都行,举个直接使用的例:
直接剽窃原项目的SerialPortActivity.java,并稍微改一下,重点改这里
mSerialPort = mApplication.getSerialPort();
这里可以改成
new SerialPort(new File("/dev/s3c2410_serial0"), 9600, 0);//COM0,波特率9600
5. SerialPortFinder的使用就没什么好讲的了,实例化后用.getAllDevicesPath()就能获取到所有设备了。
6.每个串口的读取需要一个线程、循环发送需要一个线程,4个串口共4个读取线程、4个循环发送线程。
7.为防止界面卡顿,再加一个线程用于刷新显示。
其它如数据转换等请参考源码

写得较匆忙,有点乱,稍微测试了一下,但不知还有没有bug。
如果碰到权限问题,请Root系统后再使用

安装文件在此
V1.0
ComAssistantV1.0apk.rar (49 K) 下载次数:640
V1.1
ComAssistant.rar (64 K) 下载次数:1071
V1.1只是增加设置菜单,可以设置刷新时间和串口数量

源代码,仅供参考。
本部分内容设定了隐藏,需要回复后才能看到
[ 此帖被benjaminwan在2012-09-08 17:52重新编辑 ]
级别: 侠客
UID: 58655
精华: 0
发帖: 129
金钱: 645 两
威望: 130 点
贡献值: 0 点
综合积分: 258 分
注册时间: 2011-11-11
最后登录: 2017-09-13
1楼  发表于: 2012-08-16 18:32
看看学习下