2017-09-04 37 views
1

我一直在努力與STM32F30x系列一會兒並習慣了對文件系統看起來像這樣:STM32F042不需要更高級別的庫嗎?

inc/ 
---*.h 
lib/ 
---CMSIS/ 
---STM32F30x_StdPeriph_Driver/ 
------inc/ 
------scr/ 
---STM32_USB-FS-Device-Driver/ 
------inc/ 
------scr/ 
src/ 
---*.c 
usb/ 
---inc/ 
------ hw_config.h 
------ *.h 
---scr/ 
------ hw_config.c 
------ *.c 

現在,我切換了STM32F042工作,我完全無法找到將USB庫與hw_config和USB文件,所以我的設置是這樣的:

inc/ 
---*.h 
lib/ 
---CMSIS/ 
---STM32F0xx_StdPeriph_Driver/ 
---STM32_USB-Device-Driver/ 
------inc/ 
------scr/ 
---STM32_USB-Device-Library/ 
------Class/ 
------Core/ 
src/ 
---*.c 

我一直認爲這些USB /庫是必要的,使用USB外設。這對STM32F042系列來說不再適用嗎?或者我需要以某種方式弄清楚如何編寫我自己的這些文件的版本?我一直沒有找到使用USB的STM32F042的任何工作示例,所以我有點不知所措。

+1

我對那些圖書館沒有用處,所以不太瞭解它們。正如你所知,該部分包含一個USB接口。他們在家庭中重複使用相同的外設並不罕見。並不總是從以前的家庭完美的借款有時A的時鐘/時鐘與來自B家的定時器和飛鏢混合。所以首先當然你應該問ST不是SO。其次看看你的兩個部分的數據表,看看usb外設寄存器規格是否非常相似,如果沒有看到是否有另外一個帶有庫支持和匹配寄存器的stm32器件,並借用該代碼。 –

+0

如果你習慣使用這些庫,那麼usb外圍設備是你想要自己出去的最後一個,並且做你自己的驅動程序。毫無疑問,開源或其他庫支持這種外設的實例化。 ST不太可能不支持它。 –

+0

SPL已經死了多年,不被STM支持。改爲使用HAL。 USB和以太網很難編程外設 –

回答

3

恰恰相反; ST希望你使用他們的even higher level library

然而,您尋找但找不到的庫在該部分清晰可用,其編號爲STM32F042 product page。向下滾動到嵌入式軟件下載部分或在頁面上搜索「STM32F0x2xx USB FS設備庫(UM1717)」或使用直接鏈接STSW-STM32092。它包括例子。

然而,ST會真的喜歡你從他們的傳統軟件支持遷移到STM32Cube。我個人不喜歡STM32Cube(甚至比我更不喜歡SPL和USB庫),原因有很多。不幸的是,ST不願意解決傳統支持中的錯誤,而且根據我的經驗,他們的大多數錯誤都在USB代碼中,比其他大多數外設複雜得多,但與遷移一切相比,它們更容易集成到現有軟件設計中到Cube並永久鎖定自己(這當然是他們的目標毫無疑問)。

相關問題