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

采用USB OTG實現手機和無線FM監測模塊的通信

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

何曉東 徐樹良

摘要:現有一個無線調頻信號監測功能模塊,用于測量FM信號的場強。本文設計一個方案,手機通過USB線連接該模塊,編寫手機APP實現通過手機對該模塊的進行參數設置、讀取場強等測量數據等功能。

關鍵詞:USB通信;USB OTG

中圖分類號:TP311文獻標識碼:A

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

開放科學(資源服務)標識碼(OSID):

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

1 USB OTG簡介

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

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

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

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

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

2 監測模塊用單片機

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

3 監測模塊USB通信相關程序設計

主要是編寫USBD_CustomHID_fops_FS中相關函數實現,主要是USTOM_HID_Recv_FS和USBD_CUSTOM—HID_SendRe-port_FS函數,分別是USB消息接收函數和發送函數。

3.1 接收函數

該函數為接收手機通過USB發送的信息,函數框架為:

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

{

//端點2接收中斷清零

EP2_INT_Comein=0;

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

CopyStr(Buf,Rx_ORDER_Buffer,*Len);

//修改接收標識為1,表示接收到主機信息

order_stat=l;

//返回結果

return (USBD_OK);

3.2 發送函數

該函數實現通過USB向手機發送信息

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

{

//直接調用底層函數發送

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

}

3.3 主程序結構

主程序循環調用dispatch函數,在dispatch函數中檢查信息接收標識,處理手機發送的命令,并把結果發送回手機。Dis-patch函數框架如下:

void Dispatch(void)

{//

ifTorder_staty/usbin節點收到信號標識

{

order_stat= 0;//清除接收標識

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

if(UpdateMonitory/是否需要新的監測數據

{

UpdateMonitor=0;

uint16_t length=2;//準備數據

UsbUpLoardDataBuffer[0]_ (uint8_t) (hostcommand. comman-did);//命令ID

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

length+=FiIIES(&(UsbUpLoardDataBuffer[6]》;//填充監測的信號場強

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

length=8;//設置數據長度

//發送數據到主設備USBD_CustomHID_fops_FS. SentData(UsbUpLoardDataBuffer,length,CUSTOM_HID_EPIN I_ADDR);

4 手機USB通信相關程序設計

接收監測模塊發送的數據線程框架:

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];,/創建緩沖區,

intlength= RecvBuff'er.length;

inttimeout= 6000;

while (!Thread.interrupted0){

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

if (recvcount<0){//沒有接收到數據,則繼續循環

continue;

Message message= new Message0;//創建新消息

message.what= Ox2678;

message.obj= RecvBuffer;

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

5 結束語

通過對STM32F107數據手冊的研讀和參考相關USB OTG的資料和例程,結合監測需求,實現了手機同監測模塊的通信,經測試,達到了預期的功能。

參考文獻:

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

[2]王翠萍.Android Studio應用開發實戰詳解[M].北京:人民郵電出版社。2017.

【通聯編輯:聞翔軍】

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

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

主站蜘蛛池模板: 69av在线| 国产香蕉97碰碰视频VA碰碰看| 波多野吉衣一区二区三区av| 亚洲自拍另类| 亚洲一区二区黄色| 曰韩人妻一区二区三区| 国产又粗又猛又爽| 在线看免费无码av天堂的| 国产十八禁在线观看免费| 午夜精品影院| 国产性猛交XXXX免费看| 1769国产精品免费视频| 天天做天天爱夜夜爽毛片毛片| 国产精品性| 日韩免费中文字幕| 狼友视频国产精品首页| 无码人中文字幕| 99久久国产综合精品女同 | 国产午夜无码片在线观看网站 | 欧美亚洲日韩不卡在线在线观看| 无码国产偷倩在线播放老年人 | h网站在线播放| 人妻少妇乱子伦精品无码专区毛片| 免费毛片全部不收费的| 国产成人a在线观看视频| 91丝袜乱伦| 中文天堂在线视频| 亚洲精品国产自在现线最新| 在线一级毛片| 国产乱人激情H在线观看| 无码aⅴ精品一区二区三区| 久久精品66| 国产拍揄自揄精品视频网站| 色欲色欲久久综合网| 激情影院内射美女| 国产精品蜜芽在线观看| 久久成人免费| 国产一级精品毛片基地| 香蕉久久国产精品免| 日韩AV无码一区| 成人免费网站久久久| 性视频久久| 亚洲成人精品| 高清不卡毛片| 伊人色在线视频| 色综合久久久久8天国| 四虎影院国产| 亚洲h视频在线| 欧美成人怡春院在线激情| 综合色在线| 天天摸天天操免费播放小视频| 99在线观看国产| 香蕉久久国产超碰青草| 日韩精品毛片人妻AV不卡| 久草视频一区| 99久久精品国产综合婷婷| 欧美精品亚洲二区| 久久无码av一区二区三区| 国产成人区在线观看视频| 五月婷婷丁香综合| 亚洲精品欧美日本中文字幕| 2022国产无码在线| 精品国产免费观看一区| www.日韩三级| 国产成人精品高清在线| 71pao成人国产永久免费视频 | 成人中文字幕在线| 久久亚洲国产一区二区| 国产美女精品在线| 人妻丰满熟妇av五码区| 午夜福利视频一区| 免费在线成人网| 欧美久久网| 久久永久精品免费视频| 久久婷婷国产综合尤物精品| 露脸一二三区国语对白| 亚洲人成人伊人成综合网无码| 日韩国产高清无码| 亚洲美女操| 一级毛片高清| 1024国产在线| 中文字幕天无码久久精品视频免费|