引入
極海官網上有F407系列的USB庫,其名稱為APM32F4xx_OTG_SDK,我下載的是V1.1版本。它里面除了USB的驅動外,還包含了主機和設備的例程,例程有三類:鼠標、虛擬串口和U盤。我給大家分享一下我使用的過程中的一些經驗。本次主要講HID設備例程,即鼠標。
我使用的硬件是極海的APM32F407IG MINI Board,它提供了一個全速的USB口(Type B)。打開Device_Examples目錄中的HID例程,成功編譯下載后,將USB線接上板子,電腦的設備管理器就出現下圖所示的設備:
當出現了新的鼠標設備,那就說明這個例程的枚舉是沒問題的。在例程中,鼠標的左右移動使用的是KEY1和KEY2控制。此外還有PC8和PC9兩個IO能夠控制光標的上下移動。當鼠標能夠自由控制的時候,說明此例程已經正常運行了。
參數配置
一、工程不同目標的選擇
如下圖所示,一個Keil工程中共有三個目標,USBD_HID_FS為全速,使用的引腳是PA11和PA12;USBD_HID_HS1為高速,使用的是ULPI接口,引腳配置的很多,因為要外接高速PHY;USBD_HID_HS2為高速,因為內嵌了高速PHY,所以通信引腳主要為PB14和PB15。我之前用它的時候,是直接從PB14和PB15引腳分別外接個0歐姆電阻,然后直接連USB口就可以用了,不過需要保證接線的質量。
MINI板上只有全速,所以這里我主要演示的也是全速。
二、描述符配置
一般來說,如果只是想控制鼠標的話,例程的描述符可以不作修改。下面簡單介紹一下幾個描述符的修改方法。
如果想調整設備版本號或者廠商ID和產品ID,可以對設備描述符進行修改,具體方法如下圖:
描述符中,內容最多的當屬配置描述符了,它還包含接口描述符、端點描述符等信息,具體用法如下圖:
若想修改字符串表達的信息,可以修改對于的字符串描述符,比如產品字符串描述符:
其他的比如報告描述符,因為篇幅所以不講了,視情況再決定是否開一篇專門講。
三、我們拿到例程之后,該怎么用?
例程是用來做演示的,主要是讓人知道這個驅動該怎么用,整個SDK最重要的應該是驅動。我們需要理解好例程中哪些內容是必須的,哪些是可以根據自己需要而修改或者刪去的。比如下圖就是例程的main函數,除了中斷之外的運行內容都在這里了。
審核編輯 :李倩
-
usb
+關注
關注
60文章
7945瀏覽量
264690 -
HID
+關注
關注
2文章
130瀏覽量
46612
原文標題:APM32芯得 EP.01 | USB_OTG_SDK的HID設備例程
文章出處:【微信號:RTThread,微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論