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