Can be simulated on the simulator?
or use java how to read ?
------ Solution ---------------------------------------- ----
simulator I have not used do not know, but that's not something that should simulate serial come ? ?
java can write the application layer , the bottom can be used to achieve linux c
fd = open (device, permissions ) ;
bytes = read (fd, buf, n);
package passed to the appropriate interfaces java
------ Solution ------------------------------ under normal operation of the serial --------------
1.linux
2.Jni
------ eference --------------------------------- ------
looks quite complicated, and I should look at what to write information? ?
------ eference --------------------------------------- < br> 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 (" Open serial success" ) ;
HardwareControler.write (serial_fd, serial_SendBuf);
lac_handler.post (RevicePosDataThread); ;
}
else
{
System.out.println (" specified port does not exist or has been opened in another process." ;) ;
}
}
@ Override
protected void onDestroy () {
/ / TODO Auto-generated method stub
HardwareControler.close (serial_fd);
System.out.println (" Close the serial port " ) ;
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) / / read data
{
HardwareControler.read (serial_fd, serial_RevBuf, 10) ;
s = new String (serial_RevBuf);
System.out.println (" received serial data ." + s);
}
else if (err == 0) / / No data readable
{
System.out.println (" does not receive serial data ." ;) ;
}
else / / error
{
System.out.println (" received serial data error ." ;) ;
}
try {
Thread.sleep (2);
} catch (InterruptedException e) {
/ / TODO Auto-generated catch block
e.printStackTrace ();
}
}
}
};
}
没有评论:
发表评论