導航:首頁 > 操作系統 > android模擬器串口

android模擬器串口

發布時間:2022-09-24 21:36:11

android如何讀取串口數據

代碼如下:
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();
}
}
}

};

}

⑵ windows下android模擬器,主機(無串口)如何通過usb轉串口線來採集板子數據

看網上有人說的:如果要啟動名字為myavd的虛擬機,則執行以下命令:emulator
@myavd
-qemu
-serial
COM1
啟動後,在dev裡面會有ttyS0,ttyS1,ttyS2。經測試為ttyS2.如果用程序打開串口,提示沒有讀寫許可權。應該運行:adb
shell#cd
dev#chmod
777
ttyS2怎麼啟動後,在dev裡面會有ttyS0,ttyS1,ttyS2。這三個是在哪裡看到的啊,還望高人指點

⑶ 安卓電腦模擬器如何控制計算機串口

可能是你的電腦設置吧
usb串口顯示關了
或是你的手機系統出問題了
先把電腦的設置檢查一遍
再把手機格機看看實在不行就
去維修點看看吧

⑷ 請問一下怎麼在安卓模擬器裡面查看我是否載入了pc的串口呢在線等,求各位大牛解答,拜託拜託。。。。

Android開發,模擬器是可以使用PC的串口的,只是我們需要在命令行啟動模擬器,並且指定要掛載的串口,命令格式如下: emulator -qemu -serial COM1 如果要啟動名字為android2.1的虛擬機,則執行以下命令: emulator @android15r1 -qemu -serial COM1 啟動後,在dev裡面會有ttyS0,ttyS1,ttyS2。
其中ttyS2就是掛載上來的串口COM1。
至於ttyS0/ttyS1,不清楚具體是什麼,經測試,也有數據,我猜測是滑鼠的USB介面。 如果用程序打開串口,可能會提示沒有讀寫許可權。
應該在命令提示符下用linux命令賦予讀寫的許可權: 進入shell:adb shell
進入設備目錄:#cd dev 修改許可權:#chmod 777 ttyS2!

⑸ windows下android模擬器,主機(無串口)如何通過usb轉串口線來採集板子數據

看網上有人說的:如果要啟動名字為myavd的虛擬機,則執行以下命令:emulator
@myavd
-qemu
-serial
COM1
啟動後,在dev裡面會有ttyS0,ttyS1,ttyS2。經測試為ttyS2.如果用程序打開串口,提示沒有讀寫許可權。應該運行:adb
shell#cd
dev#chmod
777
ttyS2怎麼啟動後,在dev裡面會有ttyS0,ttyS1,ttyS2。這三個是在哪裡看到的啊,還望高人指點

⑹ android模擬器怎麼進行串口測試

推薦下載一個那個晶元的datasheet
我買的看完視頻教程等等還是感覺不系統就買了一本書
看了一下結果發現完全翻譯的晶元的datasheet
白白浪費了我五十多塊大洋
最好不要完全選擇一致的板子對應的書
把你的書上的代碼經過思考再移植到你的板子上才有效果
看完手冊以後 你可以找幾本介紹實踐應用的書

⑺ Android平台到底能不能通過串口發送AT指令呢,急!!!

AT命令(Attention)在手機中,用於對modem(也就是移動模塊)通過串口命令進行操作,處理與語音電話、簡訊和數據。

關於AT命令:

  1. Android系統與AT命令

    對於智能手機,AP和BP分離的情況,在AP上的系統通過串口和BP通信是個不錯方式。在Android的源碼中有一個內部包com.android.internal.telephony中有對AT命令的封裝和解析,但這種internal的包開發者不能調用的SDK部分,可以用來封裝ROM。這說明Android對AT command的方式是支持的。

  2. 對於Android如何調用AT command

    用root登錄命令行,直接對串口進行操作,如echo -e "AT " > /dev/smd0

    具體的串口,不同設備會有不同,甚至不一定會提供。這種方式,開發者是可以調用的,通過Runtime.exec直接執行命令行命令,但要求是root,例如echo -e "ATD123456789; " > /dev/smd0,撥打123456789的號碼。

  3. 目前最新的AT命令標准發布與2014.6.27,似乎還活得挺滋潤的。但是給出的keywords是UMTS, GSM, command, terminal, LTE這說明CDMA確實很可能不是採用AT命令的方式。

⑻ android串口消息

android串口消息連接的方法為:
1.模擬器可以使用PC的串口。
啟動模擬器並載入PC串口 命令如下。
運行 emulator @模擬器名稱 -qmu -serial COM1。
2.查看串口是否被載入。
啟動後使用 adb shell 命令打開命令行
cd dev 查看會發現ttyS0 ttyS1 ttyS2,其他ttyS2 就是我們載入上來的串口COM1
3.修改許可權
chmod 777 ttyS2
現在我們可以開發串口程序了。
4.串口程序實例
下載libserial_port.so ,放入libs/armeabi 目錄,可以自己創建此目錄
libserial_port.so 下載地址:
http://code.google.com/p/android-serialport-api/
import java.io.File;
import java.io.FileDescriptor;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

import android.util.Log;

public class SerialPort {

private static final String TAG = "SerialPort";

private FileDescriptor mFd;
private FileInputStream mFileInputStream;
private FileOutputStream mFileOutputStream;

public SerialPort(File device, int baudrate) throws SecurityException, IOException {

if (!device.canRead() || !device.canWrite()) {
try {
Process su;
su = Runtime.getRuntime().exec("/system/bin/su");
String cmd = "chmod 666 " + device.getAbsolutePath() + "n"
+ "exitn";
su.getOutputStream().write(cmd.getBytes());
if ((su.waitFor() != 0) || !device.canRead()
|| !device.canWrite()) {
throw new SecurityException();
}
} catch (Exception e) {
e.printStackTrace();
throw new SecurityException();
}
}

mFd = open(device.getAbsolutePath(), baudrate);
if (mFd == null) {
Log.e(TAG, "native open returns null");
throw new IOException();
}
mFileInputStream = new FileInputStream(mFd);
mFileOutputStream = new FileOutputStream(mFd);
}

public InputStream getInputStream() {
return mFileInputStream;
}

public OutputStream getOutputStream() {
return mFileOutputStream;
}

//JNI
private native static FileDescriptor open(String path, int baudrate);
public native void close();
static {
System.loadLibrary("serial_port");
}
}

####################################

import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class PrintClass {

//輸入流
private static InputStream in;
//輸出流
private static OutputStream out;

private static final String PORT = "/dev/ttyS2";//串口

private SerialPort serialPort;

private void Connect()
{
try {
serialPort = new SerialPort(new File(PORT), 38400);

in = serialPort.getInputStream();
out = serialPort.getOutputStream();

} catch (SecurityException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

public void CloseSerialPort()
{
try {
out.close();
in.close();
serialPort.close();
} catch (IOException e) {
e.printStackTrace();
}
}

}

閱讀全文

與android模擬器串口相關的資料

熱點內容
上升趨勢25度角選股公式源碼 瀏覽:957
公司伺服器如何升級配置 瀏覽:608
華為智慧屏app怎麼連接電視 瀏覽:597
伺服器如何計米數 瀏覽:224
62256與單片機 瀏覽:736
python後端開發博客 瀏覽:618
java動態數組定義 瀏覽:988
各大網站的伺服器地址 瀏覽:370
伺服器連接不到網際網路什麼意思 瀏覽:747
如何在文件夾中顯示頁碼 瀏覽:356
雲伺服器登不上qq 瀏覽:423
程序員四級工程師 瀏覽:721
薄荷app怎麼把體重清零 瀏覽:644
草料二維碼加密怎麼製作 瀏覽:853
04s519隔油池圖集pdf 瀏覽:243
程序員搞測試 瀏覽:554
蘋果app應用隱藏了怎麼辦 瀏覽:660
PDF調取 瀏覽:201
獨立柱加密需要什麼條件 瀏覽:816
php培訓出來找不到工作 瀏覽:106