Android串口開發(fā)之使用JNI實現(xiàn)ANDROID和串口通信詳解-創(chuàng)新互聯(lián)

一:串口通信簡介

創(chuàng)新互聯(lián)于2013年開始,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項目成都網(wǎng)站設(shè)計、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元渭南做網(wǎng)站,已為上家服務(wù),為渭南各地企業(yè)和個人服務(wù),聯(lián)系電話:18982081108

前段時間因為工作需要研究了一下android的串口通信,網(wǎng)上有很多講串口通信的文章,我在做的時候也參考了很多文章,現(xiàn)在就將我學習過程中的一些心得分享給大家,由于串口開發(fā)涉及到j(luò)ni,所以開發(fā)環(huán)境需要支持ndk開發(fā),如果未配置ndk配置的朋友,或者對jni不熟悉的朋友,請查看上一篇文章,android 串口開發(fā)第一篇:搭建ndk開發(fā)環(huán)境以及第一個jni調(diào)用程序 ,串口通信和java操作io類似,先打開串口,然后向串口發(fā)送或者讀取數(shù)據(jù),最后關(guān)閉串口,所以基本思路就是:

  1.對串口文件進行配置(波特率等),選擇串口文件,打開串口,設(shè)備不同 ,可以讀寫的串口也不同.

  2.讀寫串口 ,讀串口需要開一個子線程,然后死循環(huán)讀取串口發(fā)送的數(shù)據(jù)

  3.關(guān)閉串口文件

其中打開,關(guān)閉串口是在jni方法執(zhí)行,讀寫操作是android程序執(zhí)行。

二:代碼實現(xiàn)


我的開發(fā)環(huán)境是android studio 2.3.3 串口開發(fā)我創(chuàng)建一個支持c++項目,然后在cpp目錄下,創(chuàng)建一個nateve-lib.cpp的程序,將串口打開,串口關(guān)閉的程序復(fù)制進去即可,native-lib程序中方法的命名規(guī)則需要根據(jù)你實際情況,稍作修改,cpp中方法名格式為,Java_包名_調(diào)用jni方法的類名_方法名,如Java_com_serialportdemo_SerialPort_open,此處一定要注意,android studio生成的是cpp程序,不是c程序,這兩個有一些區(qū)別的,比如:

我對c也不熟悉,以下語法有誤請指出

*.c的語法


變量定義


jstring jstr2 = (*env) -> NewStringUTF(env, cstr);

當前標題:Android串口開發(fā)之使用JNI實現(xiàn)ANDROID和串口通信詳解-創(chuàng)新互聯(lián)
標題鏈接:http://bm7419.com/article8/cdeeop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊外貿(mào)網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)、標簽優(yōu)化、網(wǎng)站維護、移動網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化