android读写串口(friendlyarm)

import com.friendlyarm.AndroidSDK.HardwareControler;

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;

public class MapGuider_Activity extends Activity{

private int serial_fd=0;
private byte[] serial_RevBuf=new byte[100];
private byte[] serial_SendBuf="fsjajd".getBytes();
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.mapguider);
serial_fd=HardwareControler.openSerialPort("/dev/s3c2410_serial1", 115200, 8, 1);
if(serial_fd!=-1)
{
System.out.println("打开串口成功");
HardwareControler.write(serial_fd, serial_SendBuf);
lac_handler.post(RevicePosDataThread);
}
else
{
System.out.println("指定的串口不存在或在其它进程中已被打开");
}
}

@Override
protected void onDestroy() {
// TODO Auto-generated method stub
HardwareControler.close(serial_fd);
System.out.println("关闭串口");
lac_handler.removeCallbacks(RevicePosDataThread);
super.onDestroy();
}

Handler lac_handler =new Handler(){

@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
}

};
Runnable RevicePosDataThread =new Runnable()
{
int err=0;
String s;
public void run() {
// TODO Auto-generated method stub
while(true)
{
//Looper.prepare();
err=HardwareControler.select(serial_fd, 1, 0);
if(err==1)//有数据可读
{
HardwareControler.read(serial_fd, serial_RevBuf, 10);
s=new String(serial_RevBuf);
System.out.println("接收到串口数据"+s);
}
else if(err==0) //无数据可读
{
System.out.println("没有接收到串口数据");
}
else//出错
{
System.out.println("接收到串口数据出错");
}
try {
Thread.sleep(2);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

};

}

更多相关文章

  1. android 一些数据转换方法
  2. android 工具类 数据库管理
  3. 清除app数据等同于设置中的清除数据
  4. android自带数据库之数据插入
  5. android中的数据库——学习
  6. Android 数据存储之文件存储小记
  7. Android之使用ContentResolver对通信录中的数据进行简单操作
  8. android答题系统(二):实现主界面入口和查询数据
  9. Android跨进程通信传输大数据

随机推荐

  1. 自己遇到的Android虚拟机出现的错误及解
  2. what are Datatypes in SQLite supportin
  3. 测试经理教你如何用monkey进行压力测试!
  4. android adb pull/push permission denie
  5. Android(安卓)ListView的优化
  6. [转]android out of memory(OOM)
  7. Android基于XMPP的即时通讯
  8. Android中利用Camera与Matrix实现3D效果
  9. android Java代码设置textview的字体资源
  10. 【Android开发bug】Dropping event due t