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