package cn.com.farsight.SerialService;
import java.io.BufferedReader;
import java.io.UnsupportedEncodingException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import android.util.Log;
public class SerialService {
private static final String TAG = "SerialService";
// 底层初始化状态
private boolean isInitOk = false;
// 加载本地库,read()和write()的实现通过JNI在本地代码实现
static {
Log.d(TAG, "System.loadLibrary()");
System.loadLibrary("serial_runtime");
}
// 构造器,用于初始化本地HAL及runtime
public SerialService(){
Log.d(TAG, "SerialService()");
// 初始化本地HAL
isInitOk = _init();
Log.d(TAG, "_init()");
}
// 读串口数据
public String read() {
Log.d(TAG, "read()");
if(!isInitOk)
return "串口初始化失败,请确认已经连接串口设备。";
// 由于 Java String是双字节字符,而串口数据是原始字节流,所以要进行转化
byte[] data = new byte[128];
// 从驱动读取字节流
_read(data, 128);
String ret;
try{
// 转化为Java String字符
ret = new String(data, "GBK");
}catch(UnsupportedEncodingException e1) {
return null;
}
return ret;
}
// 写入字符串数据
public int write(String s) {
Log.d(TAG, "write()");
int len;
try{
// 将Java String字符串转码成字节流后,写入串口
len = _write(s.getBytes("GBK"));
}catch(UnsupportedEncodingException e1) {
return -1;
}
return len;
}
private static native boolean _init();
private static native int _read(byte[] data, int len);
private static native int _write(byte[] data);
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
Android系统访问串口设备源码-IT计算机-毕业设计.zip (20个子文件)
Android系统访问串口设备源码
Android系统访问串口设备 - mr_raptor的专栏 - 博客频道 - CSDN.pdf 970KB
SerialInterface
serial_hal
include
serial.h 1KB
Android.mk 302B
module
Android.mk 285B
serial.c 3KB
Android.mk 37B
serial_app
res
drawable-ldpi
icon.png 2KB
drawable-hdpi
serial.png 8KB
icon.png 4KB
values
strings.xml 204B
drawable-mdpi
serial.png 8KB
icon.png 5KB
layout
main.xml 577B
Android.mk 195B
src
cn
com
farsight
SerialService
SerialService.java 2KB
SerialDemo
MainActivity.java 1KB
AndroidManifest.xml 736B
serial_runtime
cn_com_farsight_SerialService_SerialService.cpp 4KB
Android.mk 870B
cn_com_farsight_SerialService_SerialService.cpp~ 4KB
共 20 条
- 1
资源评论
芝麻粒儿
- 粉丝: 5w+
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功