999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

Android手機(jī)串口調(diào)試助手設(shè)計(jì)與實(shí)現(xiàn)

2015-01-17 05:47:02張佳進(jìn)陳立暢楊曉東唐君君
電子設(shè)計(jì)工程 2015年2期
關(guān)鍵詞:調(diào)試

張佳進(jìn),陳立暢,楊曉東,唐君君

(1.云南農(nóng)業(yè)大學(xué) 基礎(chǔ)與信息工程學(xué)院,云南 昆明 650201;2.云南農(nóng)業(yè)大學(xué) 工程技術(shù)學(xué)院,云南 昆明 650201)

隨著移動(dòng)互聯(lián)網(wǎng)的高速發(fā)展,越來越多的人開始使用智能手機(jī),其中Android智能手機(jī)市場占有率高達(dá)60%以上。除了基本的通話功能以外,智能手機(jī)已經(jīng)成為物聯(lián)網(wǎng)時(shí)代中新型的終端節(jié)點(diǎn)。

現(xiàn)在Android手機(jī)主要集成了Wifi、藍(lán)牙通信接口,它們具有傳輸速率高、通用性好等優(yōu)點(diǎn)。但是在物聯(lián)網(wǎng)領(lǐng)域中,由于成本、功耗、硬件資源等因素的限制,許多傳感器、控制設(shè)備往往采用傳統(tǒng)的串行通信技術(shù),例如UART、I2C、SPI等串行模式。然而當(dāng)前Android手機(jī)往往缺乏這些硬件接口,因此導(dǎo)致Android手機(jī)和傳統(tǒng)串行設(shè)備之間的通信比較困難[1]。

串口調(diào)試助手是專門用于測試串口通信使用的工具。串口調(diào)試助手具備了方便、穩(wěn)定、交互性強(qiáng)的特點(diǎn),給嵌入式系統(tǒng)開發(fā)人員帶來了極大的便利。但是由于上述原因,目前在Android手機(jī)領(lǐng)域還沒有面向嵌入式系統(tǒng)的串口調(diào)試工具。

為了描述的方便,可以把UART串行通信接口抽象成一個(gè)傳感器系統(tǒng)。目前很多Android智能手機(jī)廠商將傳感器的軟硬件開發(fā)工作視為手機(jī)研發(fā)過程中一個(gè)非常重要的組成部分。但有趣的是到目前為止,Google公司在Android系統(tǒng)的Java框架層僅僅只提供了對常見的八種類型傳感器的支持,沒有規(guī)定各個(gè)類型的傳感器需遵循的通信協(xié)議和設(shè)備參數(shù)。

而在Android智能手機(jī)的研發(fā)過程中,傳感器底層軟件的設(shè)計(jì)和開發(fā)工作的流程、傳感器驅(qū)動(dòng)程序與上層應(yīng)用進(jìn)行交互的接口方式均無統(tǒng)一的標(biāo)準(zhǔn)和解決方案,這就要求傳感器底層軟件設(shè)計(jì)開發(fā)人員根據(jù)項(xiàng)目所使用的傳感器的硬件特點(diǎn),以及其對于 Android架構(gòu)和Linux內(nèi)核的熟悉程度,設(shè)計(jì)出一套最適合自己特定環(huán)境下傳感器底層驅(qū)動(dòng)程序,這很大程度加大了智能手機(jī)傳感器的軟件開發(fā)難度[2-3]。

IOIO模塊是國際著名開源公司SparkFun出品的一款專門為Android系統(tǒng)設(shè)計(jì)的通用型I/O擴(kuò)展及控制模塊。該硬件模塊通過USB接口與Android手機(jī)相連,高度集成了多路數(shù)字I/O端口、I2C,SPI及UART串行控制器等功能組件,只需通過簡單、直觀的Java API即可直接操作外部硬件I/O,不需要額外的嵌入式軟件編程和其它硬件設(shè)備,使用方便靈活,開發(fā)便捷。目前眾多國際著名品牌的Android手機(jī)和平板電腦都兼容支持IOIO模塊,例如谷歌、三星、索尼等[4-5]。

鑒于以上因素,文中采用國際開源的IOIO模塊實(shí)現(xiàn)android手機(jī)的UART串行通信硬件接口,它能直接支持TTL串行通信,同時(shí)基于IOIO提供的IOIOLib庫,使用Java語言,在Android手機(jī)上開發(fā)串口通信調(diào)試助手軟件。

1 IOIO硬件結(jié)構(gòu)

IOIO硬件模塊主要采用了低功耗的PIC24FJ256DA206單片機(jī)作為系統(tǒng)控制器,電路板上集成了多路UART、I2C、GPIO等多個(gè)功能接口部件。對于UART串行口的管腳定義見圖1所示。

圖1 IOIO模塊硬件實(shí)物圖Fig.1 Picture of IOIOhardware module

表1 IOIO串口UART管腳定義Tab.1 Pins of UART in IOIO

如上表1所示,一個(gè)IOIO模塊可以同時(shí)支持多達(dá)4個(gè)串口UART,能滿足復(fù)雜的串口通信系統(tǒng)應(yīng)用。

2 串口調(diào)試助手軟件開發(fā)環(huán)境要求

基于android手機(jī)和IOIO硬件接口,串口調(diào)試助手采用Java語言進(jìn)行開發(fā),其開發(fā)環(huán)境配置及所需組件如表2所示[6-7]。

表2 串口調(diào)試助手開發(fā)環(huán)境要求Tab.2 Development environment required for Serial UART debugging assistant

3 串口調(diào)試助手軟件的實(shí)現(xiàn)

3.1 軟件系統(tǒng)的組成

與PC端的傳統(tǒng)串口調(diào)試助手類似,Android手機(jī)環(huán)境下的串口調(diào)試助手軟件功能主要包括接收和發(fā)送兩個(gè)模塊,詳見圖2。其中接收模塊支持以十六進(jìn)制或ASCII字符格式接收數(shù)據(jù)。發(fā)送模塊具備手動(dòng)發(fā)送和自動(dòng)定時(shí)發(fā)送功能,同樣也支持十六進(jìn)制或ASCII字符格式數(shù)據(jù)的發(fā)送。如圖3所示,在軟件接收區(qū)旁有“hex-re”和“hex-se”復(fù)選框,前者打鉤則表明以十六進(jìn)制的方式接收,否則以ASCII字符方式接收數(shù)據(jù)。同理,“hex-se”則定義了以十六進(jìn)制或ASCII字符方式發(fā)送數(shù)據(jù)。

3.2 系統(tǒng)軟件設(shè)計(jì)方法

圖2 系統(tǒng)的軟件設(shè)計(jì)結(jié)構(gòu)圖Fig.2 Schematic diagram of the software test system

圖3 系統(tǒng)軟件界面Fig.3 Interface chart of the test system

IOIO模塊在IOIOLib庫中提供了豐富的API接口,在本系統(tǒng)中主要采用了Uart接口函數(shù)。為了提高系統(tǒng)吞吐率,有效利用系統(tǒng)資源,改善用戶任務(wù)之間的通信效率,本軟件采用Java多線程技術(shù)。限于篇幅,本文只對其中的核心接口函數(shù)和類進(jìn)行介紹。

1) 串口初始化 IOIO.openUart()

實(shí) 例 :Uart uart=ioio.openUart (rxPin, txPin, baud,parity, stopBits);

其中“rxPin”與“txPin”分別代表接收管腳和發(fā)送管腳所對應(yīng)的序號;“baud”代表的是波特率;“parity”為奇偶校驗(yàn)位;“stopBits”是停止位數(shù)的定義。

例如 Uart uart=ioio.openUart(9, 14, 9 600, 0,1),該命令行表示打開一個(gè)串行口,9號管腳為接收端,發(fā)送端為14號管腳,9 600波特率,無校驗(yàn)位,1位停止位。

2)數(shù)據(jù)接收與發(fā)送

IOIO提供了uart.getInputStream數(shù)據(jù)接收和uart.getOutputStream數(shù)據(jù)發(fā)送接口API函數(shù)。

另外采用了Java標(biāo)準(zhǔn)的InputStream類和OutputStream類。InputStream是所有輸入數(shù)據(jù)流的父類,它是一個(gè)抽象類,定義了所有輸入數(shù)據(jù)流都具有的共通特性,用于輸入單個(gè)字節(jié)或者字節(jié)數(shù)組。而OutputStream衍生的所有類都擁有基本方法write(),用于輸出單個(gè)字節(jié)或者字節(jié)數(shù)組。示例代碼如下:

InputStream in=uart.getInputStream();’讀入一個(gè)字節(jié)的數(shù)據(jù)

OutputStream out=uart.getOutputStream(); ‘發(fā)送一個(gè)字節(jié)數(shù)據(jù)

3)關(guān)閉串行口

當(dāng)完成串行口的發(fā)送或接收工作后,退出軟件前需要使用uart.close()函數(shù)對其進(jìn)行正確關(guān)閉。

4 串口調(diào)試助手軟件的實(shí)際測試

4.1 系統(tǒng)硬件連接

在測試實(shí)驗(yàn)中,筆記本電腦端使用了串口調(diào)試助手軟件串口調(diào)試助手SComAssistant;三星N7100 Android手機(jī)作為測試用樣機(jī),其微型USB接口通過數(shù)據(jù)線連接到IOIO模塊,而IOIO模塊通過USB轉(zhuǎn)TTL(UART)數(shù)據(jù)線和筆記本電腦進(jìn)行串行通信,詳見圖4。

圖4 Android手機(jī)與筆記本電腦間的串行通信實(shí)驗(yàn)系統(tǒng)Fig.4 Serial communication between android phone and laptop

4.2 測試內(nèi)容

測試實(shí)驗(yàn)內(nèi)容重點(diǎn)是串行口的初始化設(shè)置、數(shù)據(jù)的接收和發(fā)送。

4.2.1 串行口的初始化設(shè)置

主要內(nèi)容包括發(fā)送和接收端管腳定義、波特率、校驗(yàn)位和停止位的設(shè)置。

4.2.2 數(shù)據(jù)的接收和發(fā)送

從圖5中,手機(jī)端串口調(diào)試助手自動(dòng)定時(shí)向筆記本電腦發(fā)送十六進(jìn)制數(shù)“fd”,而電腦端向手機(jī)發(fā)送十六進(jìn)制數(shù)“ac”,從實(shí)驗(yàn)截圖上明顯可以看出,通過IOIO模塊上的UART串行口,筆記本電腦和Android手機(jī)間的串行通信穩(wěn)定可靠。

經(jīng)過多次反復(fù)的測試與實(shí)驗(yàn)表明,以IOIO模塊為核心,基于Android手機(jī)串口調(diào)試助手軟件通信正常,尚未發(fā)現(xiàn)數(shù)據(jù)傳輸錯(cuò)誤現(xiàn)象,完全能滿足嵌入式系統(tǒng)串口調(diào)試的實(shí)際需要。

5 結(jié) 論

本中討論了以IOIO模塊為核心,基于Android手機(jī)平臺,采用Java多線程技術(shù),實(shí)現(xiàn)了手機(jī)串口調(diào)試助手軟件。實(shí)驗(yàn)表明該系統(tǒng)設(shè)計(jì)方案簡單易行,通信穩(wěn)定可靠,通用性好,具有一定的實(shí)際應(yīng)用價(jià)值。

圖5 串行口數(shù)據(jù)接收和發(fā)送實(shí)驗(yàn)Fig.5 Experiment of RX and TX between serial UARTs

另外IOIO是一個(gè)開放的人機(jī)交互平臺,給Android手機(jī)提供了豐富的I/O接口資源,包含了UART、I2C、SPI等模式,能拓展Android手機(jī)的應(yīng)用領(lǐng)域,通過對其進(jìn)行適當(dāng)?shù)臄U(kuò)展與延伸,相信在android手機(jī)或平板電腦上可以提供更多的個(gè)性化創(chuàng)意體驗(yàn)。

[1]張佳進(jìn),陳立暢,唐秀英,等.IOIO在Android手機(jī)中的應(yīng)用與研究[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2013,13(2):42-44.ZHANG Jia-jin,CHEN Li-chang,TANG Xiu-ying,et al.Research and application of IOIO in android phone[J].Microcontrollers&Embedded Systems,2013,13(2):42-44.

[2]SparkFun Electronics.IOIO for Android[EB/OL].[20-07-2013].https://www.sparkfun.com/products/10748.

[3]GitHub.Supported Devices[EB/OL].[20-07-2013].https://github.com/ytai/ioio/wiki/Supported-Devices.

[4]Chaudhri R,Brunette W,Goel M,et al.Open data kit sensors:mobile data collection with wired and wireless sensors [C]//In Proc.Of the 2nd ACM Symposium on Computing for Development, MIT,USA,March 2012:1-10.

[5]LIN Cheng-min,LANG Kuo-chen,CHU Yi-lun Chu,et al.An Implementation for Connecting Android Powered Device to External World [C]//The 2nd International Conference on Innovations in Bio-inspired Computing and Applications(BICA 2011), Shenzhen, Guangdong, China, December 2011:303-325.

[6]韓超,梁泉.Android系統(tǒng)原理及開發(fā)要點(diǎn)詳解[M].北京:電子工業(yè)出版社,2010.

[7]陳宏希,鄒益民.用Matlabcontrol實(shí)現(xiàn)Java與Matlab的混合編程[J].工業(yè)儀表與自動(dòng)化裝置,2012(3):27-30.CHEN Hong-xi,ZOU Yi-min.Implementation of the hybrid programming with Java and matlab based on matlabcontrol[J].Industrial Instrumentation&Automation,2012(3):27-30.

猜你喜歡
調(diào)試
基于航拍無人機(jī)的設(shè)計(jì)與調(diào)試
電子制作(2018年12期)2018-08-01 00:47:44
燃?xì)廨啓C(jī)發(fā)電機(jī)組運(yùn)行調(diào)試
FOCAS功能在機(jī)床調(diào)試中的開發(fā)與應(yīng)用
核電廠主給水系統(tǒng)調(diào)試
中國核電(2017年1期)2017-05-17 06:10:11
無線通信中頻線路窄帶臨界調(diào)試法及其應(yīng)用
電子制作(2017年19期)2017-02-02 07:08:38
調(diào)壓柜的調(diào)試與試運(yùn)行探討
工業(yè)電氣設(shè)備控制系統(tǒng)的安裝與調(diào)試
音頻處理器的調(diào)試
同期繼電保護(hù)調(diào)試中出現(xiàn)的問題及處理
基于JTAG的SoC片上調(diào)試系統(tǒng)設(shè)計(jì)
主站蜘蛛池模板: 黄色成年视频| 欧美在线精品怡红院 | 国产福利在线观看精品| 狠狠色成人综合首页| 国产精品hd在线播放| 精品無碼一區在線觀看 | 日本免费精品| 日韩av电影一区二区三区四区| 成人91在线| 久久亚洲综合伊人| 九色免费视频| 91久久性奴调教国产免费| 欧美高清三区| 国产欧美日韩91| 91久久大香线蕉| 国产亚洲精品97在线观看| 色综合中文字幕| 色婷婷啪啪| 国产一区二区在线视频观看| 狼友av永久网站免费观看| 无码网站免费观看| 国产精选小视频在线观看| 日韩专区欧美| 22sihu国产精品视频影视资讯| 91久久夜色精品| 久久婷婷色综合老司机| 亚洲男女在线| 亚洲成在线观看| 亚洲欧美成aⅴ人在线观看| 91精品免费高清在线| 无码精品国产dvd在线观看9久| 伊人91在线| AV不卡在线永久免费观看| 欧美yw精品日本国产精品| 免费jizz在线播放| 国产精品内射视频| 亚洲欧美激情另类| 直接黄91麻豆网站| 日本人妻一区二区三区不卡影院| 国产女人18毛片水真多1| 午夜毛片免费观看视频 | aaa国产一级毛片| 国产成人麻豆精品| 中文字幕在线欧美| 亚洲国产亚洲综合在线尤物| 内射人妻无套中出无码| 人人妻人人澡人人爽欧美一区 | 国产精品爽爽va在线无码观看| 18禁色诱爆乳网站| 91小视频在线观看| 久热re国产手机在线观看| 四虎免费视频网站| 99免费视频观看| 国产色爱av资源综合区| 国产永久无码观看在线| 亚洲Av综合日韩精品久久久| 日韩中文字幕亚洲无线码| 亚洲精品自产拍在线观看APP| 精品视频在线观看你懂的一区| 性色一区| 中国国语毛片免费观看视频| 国产成人永久免费视频| 天堂网亚洲系列亚洲系列| 中文成人无码国产亚洲| 国产精品久久久久久影院| 57pao国产成视频免费播放| 国产18在线| 国产精品夜夜嗨视频免费视频| www精品久久| 亚洲一区无码在线| 日韩精品视频久久| 亚洲国产高清精品线久久| 亚洲第一综合天堂另类专| 91最新精品视频发布页| 国产尹人香蕉综合在线电影 | 国内精品久久久久久久久久影视 | 国产丝袜无码一区二区视频| 亚洲精品第1页| 国语少妇高潮| a毛片免费观看| AV不卡无码免费一区二区三区| 国产性生交xxxxx免费|