Android串口编程实例是指使用Android系统开发板进行串口编程的实例,主要用于实现Android系统与外部设备的数据通信。是一个简单的Android串口编程实例,可以实现Android系统与外部设备之间的数据传输:
Android串口编程实例是指使用Android系统开发板进行串口编程的实例,主要用于实现Android系统与外部设备的数据通信。是一个简单的Android串口编程实例,可以实现Android系统与外部设备之间的数据传输:
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.security.InvalidParameterException;
import android_serialport_api.SerialPort;
public class SerialPortActivity extends Activity {
protected SerialPort mSerialPort;
protected OutputStream mOutputStream;
private InputStream mInputStream;
private ReadThread mReadThread;
private TextView textView;
private class ReadThread extends Thread {
@Override
public void run() {
super.run();
while(!isInterrupted()) {
int size;
try {
byte[] buffer = new byte[64];
if (mInputStream == null) return;
size = mInputStream.read(buffer);
if (size > 0) {
onDataReceived(buffer, size);
}
} catch (IOException e) {
e.printStackTrace();
return;
}
}
}
}
private void DisplayError(int resourceId) {
Log.d("SerialPortActivity", "DisplayError");
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textView = (TextView) findViewById(R.id.textView);
try {
mSerialPort = new SerialPort(new File("/dev/ttyS1"), 9600, 0);
mOutputStream = mSerialPort.getOutputStream();
mInputStream = mSerialPort.getInputStream();
/* Create a receiving thread */
mReadThread = new ReadThread();
mReadThread.start();
} catch (SecurityException e) {
DisplayError(R.string.error_security);
} catch (IOException e) {
DisplayError(R.string.error_unknown);
} catch (InvalidParameterException e) {
DisplayError(R.string.error_configuration);
}
}
protected void onDataReceived(final byte[] buffer, final int size) {
runOnUiThread(new Runnable() {
public void run() {
String str=new String(buffer,0,size);
textView.setText(str);
}
});
}
@Override
protected void onDestroy() {
if (mReadThread != null)
mReadThread.interrupt();
mSerialPort.close();
mSerialPort = null;
super.onDestroy();
}
}
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(41条)