亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        采用USB OTG實現(xiàn)手機(jī)和無線FM監(jiān)測模塊的通信

        2020-10-09 10:24:29何曉東徐樹良
        電腦知識與技術(shù) 2020年22期

        何曉東 徐樹良

        摘要:現(xiàn)有一個無線調(diào)頻信號監(jiān)測功能模塊,用于測量FM信號的場強(qiáng)。本文設(shè)計一個方案,手機(jī)通過USB線連接該模塊,編寫手機(jī)APP實現(xiàn)通過手機(jī)對該模塊的進(jìn)行參數(shù)設(shè)置、讀取場強(qiáng)等測量數(shù)據(jù)等功能。

        關(guān)鍵詞:USB通信;USB OTG

        中圖分類號:TP311文獻(xiàn)標(biāo)識碼:A

        文章編號:1009-3044(2020)22-0052-02

        開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):

        無線調(diào)頻信號監(jiān)測模塊(以下簡稱監(jiān)測模塊)屬于無線FM信號監(jiān)測系統(tǒng)的前端采集部分,無線FM信號監(jiān)測系統(tǒng)目的是把室外實時監(jiān)測的FM信號數(shù)據(jù)通過無線公網(wǎng)發(fā)送到遠(yuǎn)端的數(shù)據(jù)庫保存。設(shè)計使用手機(jī)USB接口通過USB線連接監(jiān)測模塊,通過開發(fā)手機(jī)APP用于設(shè)置監(jiān)測模塊的監(jiān)測頻率等工作參數(shù)、啟動/停止監(jiān)測功能、接收監(jiān)測數(shù)據(jù)并顯示同時發(fā)送到遠(yuǎn)程數(shù)據(jù)庫。

        1 USB OTG簡介

        USB(通用串行總線)是一個串行通信標(biāo)準(zhǔn),廣泛用于手機(jī)、PC等設(shè)備。具有傳輸速度快、熱插拔等特點。一個日常的例子:手機(jī)通過USB線連接PC機(jī),把手機(jī)拍攝的照片等文件傳輸?shù)絇C機(jī)保存。USB接口有5根線,分別是電源正、電源負(fù)、數(shù)據(jù)正、數(shù)據(jù)負(fù)、模式。USB通信模式分為USB HOST和USBOTG。

        Host模式(主機(jī)模式),指在USB通信中PC為USB主機(jī),其他的通信方為USB設(shè)備。USB主機(jī)控制數(shù)據(jù)的傳輸,USB設(shè)備只能同USB主機(jī)進(jìn)行通信。例如:手機(jī)同PC的連接,PC是USB主機(jī),手機(jī)是USB設(shè)備,由主機(jī)(PC)控制兩者間的通信。

        OTG模式(無主機(jī)模式),指在USB通信中沒有USB主機(jī)(PC),通過模式線設(shè)置將其中的某設(shè)備設(shè)置為主設(shè)備,由主設(shè)備管理通信,從而解決沒有主機(jī)(PC)的情況下USB設(shè)備間的通信問題。例如:手機(jī)通過USB接口連接U盤。

        在OTG模式中,若模式線懸空,則該設(shè)備被設(shè)置為USB設(shè)備。若模式線接地時,該設(shè)備被設(shè)置為主設(shè)備。手機(jī)USB接口具備OTG功能,只是通常的USB連接線只用4根線,手機(jī)端模式線未接(手機(jī)端USB接口芯片模式腳懸空),手機(jī)被設(shè)置為從設(shè)備,當(dāng)用這種只有4根線USB連接線連接手機(jī)和PC機(jī)時,PC為主設(shè)備。

        本方案采用USG OTC線(5線USB連接線),將其中的模式線接地(使手機(jī)端USB接口芯片模式腳接地),就能設(shè)定手機(jī)為主設(shè)備,同時監(jiān)測模塊設(shè)置為從設(shè)備,開發(fā)手機(jī)APP來使手機(jī)同監(jiān)測模塊間的進(jìn)行通信,發(fā)送命令給監(jiān)測模塊和接收監(jiān)測模塊發(fā)送的監(jiān)測數(shù)據(jù)。

        2 監(jiān)測模塊用單片機(jī)

        監(jiān)測模塊的主控器采用具有USB OTG功能的單片機(jī),型號是STM32F107RC,屬于ST公司ARM32位CORTEX-M3芯片,集成USB2.0 0TG接口,主頻74兆,RAM 64K,F(xiàn)LASH 256K.其中PA12、PA13分別是USB_OTG_FS_DP和USB_OTG_FS_DM腳,需軟件配置為USB DEVICE模式。

        3 監(jiān)測模塊USB通信相關(guān)程序設(shè)計

        主要是編寫USBD_CustomHID_fops_FS中相關(guān)函數(shù)實現(xiàn),主要是USTOM_HID_Recv_FS和USBD_CUSTOM—HID_SendRe-port_FS函數(shù),分別是USB消息接收函數(shù)和發(fā)送函數(shù)。

        3.1 接收函數(shù)

        該函數(shù)為接收手機(jī)通過USB發(fā)送的信息,函數(shù)框架為:

        static int8_t CUSTOM_HID_Recv_FS(uint8_t*Buf, uint32_t*Len)

        {

        //端點2接收中斷清零

        EP2_INT_Comein=0;

        //復(fù)制接收的信息到用戶定義的存儲區(qū)(在主程序中處理接收的信息)

        CopyStr(Buf,Rx_ORDER_Buffer,*Len);

        //修改接收標(biāo)識為1,表示接收到主機(jī)信息

        order_stat=l;

        //返回結(jié)果

        return (USBD_OK);

        3.2 發(fā)送函數(shù)

        該函數(shù)實現(xiàn)通過USB向手機(jī)發(fā)送信息

        static int8_t USBD_CUSTOM_HID_SendReport_FS(uint8_t*report, uint16_t len,uint8_t ep_addr)

        {

        //直接調(diào)用底層函數(shù)發(fā)送

        return USBD_CUSTOM___ HID—SendReport(&hUsbDeviceFS,report, len,ep_addr);

        }

        3.3 主程序結(jié)構(gòu)

        主程序循環(huán)調(diào)用dispatch函數(shù),在dispatch函數(shù)中檢查信息接收標(biāo)識,處理手機(jī)發(fā)送的命令,并把結(jié)果發(fā)送回手機(jī)。Dis-patch函數(shù)框架如下:

        void Dispatch(void)

        {//

        ifTorder_staty/usbin節(jié)點收到信號標(biāo)識

        {

        order_stat= 0;//清除接收標(biāo)識

        USB_HandOrder20;//處理接收到的命令(略)

        if(UpdateMonitory/是否需要新的監(jiān)測數(shù)據(jù)

        {

        UpdateMonitor=0;

        uint16_t length=2;//準(zhǔn)備數(shù)據(jù)

        UsbUpLoardDataBuffer[0]_ (uint8_t) (hostcommand. comman-did);//命令I(lǐng)D

        UsbUpLoardDataBuffer[l] =seqtag++;length+=ConvertToBytes(hostcommand. freql, &(UsbUpLoardDataBuffer[2]);,/填充監(jiān)測頻率

        length+=FiIIES(&(UsbUpLoardDataBuffer[6]》;//填充監(jiān)測的信號場強(qiáng)

        length+=FiIISN (&(UsbUpLoardD ataBuffer[7]);//填充監(jiān)測的信號SN

        length=8;//設(shè)置數(shù)據(jù)長度

        //發(fā)送數(shù)據(jù)到主設(shè)備USBD_CustomHID_fops_FS. SentData(UsbUpLoardDataBuffer,length,CUSTOM_HID_EPIN I_ADDR);

        4 手機(jī)USB通信相關(guān)程序設(shè)計

        接收監(jiān)測模塊發(fā)送的數(shù)據(jù)線程框架:

        class usbRecvMessagThreadextends Thread{

        UsbEndpointepln;

        UsbDeviceConnectionusbconnection;private Handler messagHandler;//

        public usbRecvMessagThread(UsbDeviceConnection connec-tion, UsbEndpointepln, Handler msgHandler){

        this.connection= connection;this.epln= epln;

        this.messagHandler= msgHandler;

        public void run0{

        byte[] RecvBuffer= new byte[64];,/創(chuàng)建緩沖區(qū),

        intlength= RecvBuff'er.length;

        inttimeout= 6000;

        while (!Thread.interrupted0){

        intrecvcount = connection. bulkTransfer(epln, RecvBuffer,length, timeout);//接收數(shù)據(jù)

        if (recvcount<0){//沒有接收到數(shù)據(jù),則繼續(xù)循環(huán)

        continue;

        Message message= new Message0;//創(chuàng)建新消息

        message.what= Ox2678;

        message.obj= RecvBuffer;

        messageHandler. sendMessage(message);//發(fā)送接收的消息(在主程序處理)

        5 結(jié)束語

        通過對STM32F107數(shù)據(jù)手冊的研讀和參考相關(guān)USB OTG的資料和例程,結(jié)合監(jiān)測需求,實現(xiàn)了手機(jī)同監(jiān)測模塊的通信,經(jīng)測試,達(dá)到了預(yù)期的功能。

        參考文獻(xiàn):

        [1]周立功.等.USB2.0與OTG規(guī)范及開發(fā)指南[M].北京:北京航空航天大學(xué)出版社,2004.

        [2]王翠萍.Android Studio應(yīng)用開發(fā)實戰(zhàn)詳解[M].北京:人民郵電出版社。2017.

        【通聯(lián)編輯:聞翔軍】

        基金項目:安徽省教育廳自然科學(xué)重點項目“無線廣播信號覆蓋監(jiān)測系統(tǒng)開發(fā)”(編號KJ2016A113)

        作者簡介:何曉東(1968-),男,安徽長豐人,副教授,研究方向為計算機(jī)應(yīng)用技術(shù);徐樹良(1986-),男,安徽休寧人,工程碩士,研究方向為計算機(jī)應(yīng)用技術(shù)。

        亚洲精品久久久久久动漫| 人妻久久一区二区三区| 人人妻人人澡人人爽人人dvd| 熟女体下毛毛黑森林| 欧美三级免费网站| 日韩熟女一区二区三区| 在线观看国产视频你懂得| 国产高跟黑色丝袜在线| 国产精品美女| 一本色道久久88综合亚洲精品 | 中文字幕一区二区三区人妻精品 | 少女韩国电视剧在线观看完整| 亚洲国产区男人本色| 国产精品日日摸夜夜添夜夜添| 久久国产精品国语对白| 久久96国产精品久久久| 国产精品久久久久久妇女6080| aⅴ色综合久久天堂av色综合| 日韩麻豆视频在线观看| 男人的天堂无码动漫av| 国产在线一91区免费国产91| 亚洲av色在线观看网站| 国产av剧情一区二区三区| 女人被男人躁得好爽免费视频| 一本久到久久亚洲综合| 亚洲视频在线免费观看一区二区 | 99精品视频69V精品视频| 成 人 免费 在线电影| 成人区人妻精品一区二区不卡网站| 国产免费的视频一区二区| 亚洲国产精品久久又爽av| 熟女体下毛毛黑森林| 亚洲阿v天堂2018在线观看| 色男色女午夜福利影院| 伊人久久大香线蕉av色| 四虎影永久在线观看精品| 国产一级r片内射视频播放| 欧美群妇大交群| 国产精品久久婷婷六月丁香| bbbbbxxxxx欧美性| 国产精品国产三级国产专播下 |