STM32F042 是否不需要更高级别的库?

Are the higher level libraries unnecessary for STM32F042?

我使用 STM32F30x 系列已经有一段时间了,我已经习惯了这样的文件系统:

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,但我完全找不到带有 hw_config 和 usb 文件的 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 的工作示例,所以我有点不知所措。

恰恰相反; ST 希望您使用他们的 even higher level library!

然而,您寻找但找不到的库在 STM32F042 product page. Scroll down to the Embedded Software downloads section or search the page for "STM32F0x2xx USB FS device library (UM1717)" or use the direct link STSW-STM32092 中显然可用于该部分。它包括示例。

然而,

ST 真的希望您从他们的旧软件支持迁移到 STM32Cube。出于多种原因,我个人不喜欢 STM32Cube(甚至比我不喜欢 SPL 和 USB 库更甚)。不幸的是,ST 不愿意解决遗留支持中的错误,根据我的经验,他们的大多数错误都在 USB 代码中,比大多数其他外围设备的错误要复杂得多,但将它们集成到现有软件设计中比迁移所有内容要容易得多到 Cube 并永远将自己锁定在 ST 中(这当然是他们的目标,毫无疑问)。