android 串列埠通訊開啟失敗

2021-09-02 23:51:32 字數 941 閱讀 1560

谷歌開源serialport api 

按照步驟將serialport、jni、jnilibs加入,在build.gradle中新增

sourcesets 

}

serialport serialport = new serialport(new file(path),baudrate,0);

這裡path是指串列埠檔案位址、baudrate是指波特率,flags讀寫許可權,

開啟失敗的情況可能是沒有給許可權,

進入adb shell之後,cd /dev 進入dev後,ls檢視裝置是否有ttys0 1 2 3等串列埠

輸入:setenforce 0 關閉防火牆

輸入:chmod 777 /dev/ttys2(串列埠檔案) 修改許可權

這樣的許可權只是暫時的每次開機都要重新輸入

serialport類裡面的這行**

//通過掛載到linux的方式,修改檔案的操作許可權

process su = runtime.getruntime().exec("/system/xbin/su");

5.1以後好像是不能用了,所以最好還是驅動那邊,幫忙把ttys1的讀寫許可權在開機的時候就給出來

串列埠接收資料往往需要的是16進製制字串命令,例如

string hexstr ="";

hexstr="03111111111ffff07";

//16進製制字串轉成byte直接傳送就可以了

try catch (exception e)

/** 16進製制字串轉位元組陣列

*/public static byte hexstring2bytes(string hex) else if (hex.length() % 2 != 0) else

return b;

}}

android 串列埠通訊

因為工作需要,從未接觸過串列埠的我被老闆欽定了.查了幾天資料之後,終於搞出了乙份能用的demo 是別人寫好的,對android serialport api 的乙個依賴.接入這個依賴之後,照著提示去做基本就可以搞定了.需要注意的是,如果你接收到的資料不完整,可能是你使用的串列埠被占用了 我自己開發的...

android串列埠通訊

串列埠通訊 serial communications 的概念非常簡單,串列埠按位 bit 傳送和接收位元組。串列埠用於ascii碼字元的傳輸。通訊使用3根線完成,分別是地線 gnd 傳送 tx 接收 rx 由於串列埠通訊是非同步的,埠能夠在一根線上傳送資料同時在另一根線上接收資料。其他線用於握手,...

android 串列埠通訊選擇

問題描述 android晶元一般使用arm的,都支援串列埠通訊,google有乙個專案專門用來支援串列埠開發的 android serialport api,參考自 上圖中用與android與串列埠裝置通訊的方案有四種 第一種是直接用sdk的bluetoothsocket類來進行藍芽通訊,外部裝置再...