前言
USB作為從機(jī)設(shè)備時(shí),管腳連接以及通訊的驗(yàn)證方法其實(shí)就是下載一段簡單USB程序,在不需要任何驅(qū)動的前提下實(shí)現(xiàn)簡單的USB通訊。通過這個(gè)簡單程序的運(yùn)行情況來判斷USB管腳和通訊是否正常。
問題分析
USB作為從機(jī)設(shè)備時(shí),其硬件驗(yàn)證相對簡單。當(dāng)
硬件工程師懷疑自己的硬件有問題時(shí),就自己寫一個(gè)簡單的測試程序。但這對一般的硬件工程師來說還是有一定難度的。通過STM32CubeMX這個(gè)工具,這個(gè)過程就變的非常簡單了。方法如下:
1/在STM32CubeMX中選擇您需要使用的開發(fā)板,我們以STM32F401C-Discovery板子為例(在選擇板子的時(shí)候,是不需要需改時(shí)鐘配置+管腳配置的,所以流程更加簡單)
注意:如果你選擇的不是開發(fā)板,而是自己做的板子請參考如下簡易配置流程:
1.選STM32Fxxx
2.在PinOut項(xiàng)中配置RCC的HSE外部時(shí)鐘開啟(這個(gè)是必須的,除了STM32F0x2系列
MCU)
3.開啟USB_OTG_HS/USB_OTG_FS/USB中的InternalFS PHY為Device Only
4.設(shè)置Middleware 中的USB_Device為HumanInterface device
5.配置時(shí)鐘的輸入為‘x’M(默認(rèn)是25M,這里的‘x’是需要與實(shí)際連接晶體頻率相等),設(shè)置系統(tǒng)時(shí)鐘為72M(建議使用時(shí)鐘自動分配功能,際具體數(shù)據(jù)需要根據(jù)實(shí)際所選芯片的時(shí)鐘范圍來設(shè)置)
6.直接生成代碼運(yùn)行即可
2/在Pinout中選擇USBOTG FS選項(xiàng)中的Device Only選項(xiàng)。
之后在Middleware中選擇USBDevice選項(xiàng)中的Human Interface deviceclass
3/直接生成工程,并編譯下載到STM32F401C-Discovery板子上就可以驗(yàn)證了。如果可以看到HID的設(shè)備,那么就是USB部分的硬件聯(lián)系沒有什么問題了.
總結(jié):
該工程只是完成了一個(gè)USBHID類的枚舉工作,不需要工程師添加任何代碼,其作用就是為了驗(yàn)證USB作為從機(jī)設(shè)備時(shí)的硬件管腳連接以及通訊是否有問題。且一般windows都是支持HID這個(gè)基本類,故此方法有廣泛的實(shí)用意義。
重要通知 - 請仔細(xì)閱讀
意法半導(dǎo)體公司及其子公司(“ST”)保留隨時(shí)對ST 產(chǎn)品和/ 或本文檔進(jìn)行變更、更正、增強(qiáng)、修改和改進(jìn)的權(quán)利,恕不另行通知。買方訂貨之前應(yīng)獲取關(guān)于ST 產(chǎn)品的最新信息。ST 產(chǎn)品的銷售依照訂單確認(rèn)時(shí)的相關(guān)ST 銷售條款。
買方自行負(fù)責(zé)對ST 產(chǎn)品的選擇和使用, ST 概不承擔(dān)與應(yīng)用協(xié)助或買方產(chǎn)品設(shè)計(jì)相關(guān)的任何責(zé)任。
ST 不對任何知識產(chǎn)權(quán)進(jìn)行任何明示或默示的授權(quán)或許可。
轉(zhuǎn)售的ST 產(chǎn)品如有不同于此處提供的信息的規(guī)定,將導(dǎo)致ST 針對該產(chǎn)品授予的任何保證失效。
ST 和ST 徽標(biāo)是ST 的商標(biāo)。所有其他產(chǎn)品或服務(wù)名稱均為其各自所有者的財(cái)產(chǎn)。
本文檔中的信息取代本文檔所有早期版本中提供的信息。