本文主要方便使用者理解 otg 協議棧的關鍵性程式結構及檔案結構。加快使用者前期開發。
本例程模擬主機列舉滑鼠,並將滑鼠移動資訊通過串列埠列印。
本例程模擬主機列舉滑鼠及鍵盤,並將滑鼠及鍵盤輸入通過串列埠列印。
本例程模擬主機列舉u盤,並且測試讀寫資訊是否可行,並通過串列埠列印測試結果。
├─boards
│ └─mt037board
│ └─usb_examples
│ ├─usb_host_hid_mouse
│ ├─usb_host_hid_mouse_keyboard
│ └─usb_host_msd_command
├─cmsis
│ ├─driver
│ │ ├─drivertemplates
│ │ └─include
│ └─include
├─devices
│ └─mm32f103xcxe_o
│ ├─cmsis_drivers
│ ├─drivers
│ ├─hal_lib
│ │ ├─inc
│ │ └─src
│ ├─iar
│ ├─project_template
│ ├─template
│ └─utilities
│ ├─io
│ │ └─swo
│ ├─log
│ └─str
└─middleware
├─mmcau
│ ├─asm-cm0p
│ └─asm-cm4-cm7
└─usb
├─device
├─host
│ └─class
├─include
└─osa
本章列出幾個關鍵性變數的作用,方便使用者理解。
本章介紹host協議棧主要函式,方便使用者理解。
協議棧採用非同步處理的方法,在中斷中,將相關中斷儲存至 khcieventpointer->value。
usb_hosttaskfn 在 main 函式 while(1) 中非同步處理中斷,下圖的 event_(function) 和 _usb_hostkhci(function) 中,function 指代 attach, reset, detach, sof_tok, tok_done。
usb_hostprocessstate() 用於配置整個transfer 的相關資訊,包括起始 setup 包等,對於整個列舉非常重要。
_usb_hostkhcitransferstatemachine函式用於傳送及配置接收包,通過散轉usbhostpointer->trstate,決定整個 tranasfer 的狀態。
在列舉階段,transfer->setupstatus決定控制傳輸的建立過程,資料過程及狀態過程。
_usb_hostkhciatomnonblockingtransaction()用於暫存器使能發包。
資料報傳送及接收完成,token_done 中斷置位後在此函式處理資料。準備下一次資料報。
L1協議棧簡介
l1層或稱物理層,提供物理介質上的位元流傳輸,遵循gsm技術05系列規範,為上層軟體提供服務,且控制邏輯通道到物理通道的對映和安排 無線控制以及tdma幀。基本模組包括 1 l1非同步邏輯 layer1 asynchronous 處理上層軟體的訊息請求,經過l1處理後將結果返回給上層軟體。2 sur...
TCP IP協議棧與OSI模型簡介
osi open system interconnection 七層模型,是國際標準化組織 iso 制定的osi模型,該模型主要是過於複雜,僅僅只是理想模型而已,而網際網路主要運用的是tcp ip協議棧 最早發源於美國國防部 由於osi是被tcp ip淘汰的模型,在當今世界上沒有大規模使用,所以僅供...
1 LwIP協議棧規範翻譯 簡介
在過去幾年中,計算機和計算機支援裝置接之間的互聯到無線網路日趨增加。計算機已經越來越無縫的整合在了日常的裝置且 也在下降。同時,無線網路技術例如藍芽 hni 98 和ieee802.11b wlan big 97 也在新起。這就可以運用到一些極具吸引力方案區域上例如健康管理,安防,運輸,工業處理。小...