第一步
STM32 板是一款功能强大的微控制器板,可用于各种应用。 在本教程中,我们将学习如何设置 STM32 板。
为什么选择STM32?
STM32 对于初学者来说是一个不错的选择,因为:
- 比Arduino更强大
- 调试器很便宜
- 更多外设
提示
如果您需要 WiFi 或蓝牙,您应该使用 ESP32,但如果您需要更多电量,您应该使用 STM32。 在本教程中我们不会讨论 ESP32。
你需要什么
为了开始使用 STM32,您将需要以下内容:
- Blackpill/Bluepill STM32 板:
- 您可以以低于 4 美元的价格购买廉价的 Blackpill STM32 克隆板。
- ST-LINK V2/V3:
- 您需要它来将固件上传到主板。
- 您可以以低于 5 美元的价格购买廉价的 ST-LINK V2 克隆版。
- 带有 PlatformIO 或 Arduino IDE 的 VScode:
- 您可以从此处下载VSCode。
- 您可以从 VSCode 扩展市场安装 PlatformIO。
- STM32CubeProgrammer
Blackpill STM32 板
DFU upload
虽然 Blackpill STM32 板支持 DFU,这意味着您可以使用 USB 上传固件,但您应该有一个 ST-LINK 来使用调试等有用的功能。
推荐堆栈
我们推荐使用以下堆栈进行 STM32 开发:
- VSCode 和 PlatformIO
- 您可以使用 GitHub Copilot 获取代码建议,这可以帮助您更快地编写代码。
- ST-LINK V2克隆
- 非常便宜(< 5 美元)
- Blackpill STM32 板
- 非常便宜(< 4 美元)
- DFU 支持
- You can upload the firmware using USB as well.
- 比 Bluepill 更强大
- Arduino框架
- 便于使用
- 适合初学者

Arduino 与 STM32Cube
STM32 开发有两种流行的框架:Arduino 和 STM32Cube。
信息
框架是帮助您为微控制器编写代码的库和工具的集合。它就像一组可用于创建项目的构建块。
以下是Arduino框架和STM32Cube框架之间的比较:
| 特色 | Arduino 框架 | STM32Cube框架 |
|---|---|---|
| 易于使用 | 很容易 | 中等 |
| 社区支持 | 大 | 中等 |
| 性能 | 中等 | 高 |
| 图书馆可用性 | 广泛 | 中等 |
| 调试 | 基本 | 高级 |
| 配置 | 简单 | 复杂 |
| IDE | Arduino IDE、VSCode | STM32CubeIDE、VSCode |
| 学习曲线 | 低 | 高 |
以下是每个功能的详细说明:
易于使用:
- Arduino:以其简单性和初学者友好性而闻名。
- STM32Cube:虽然不像 Arduino 那么简单,但它提供了 CubeMX 的结构化方法,使配置和代码生成更容易。
社区支持:
- Arduino:一个拥有大量资源、教程和库的庞大社区。
- STM32Cube:一个不断发展的社区,但没有 Arduino 的那么大。
表现:
- Arduino:虽然功能强大,但由于 Arduino 框架的开销,它的性能通常低于 STM32。
- STM32Cube:由于直接访问硬件寄存器和优化的代码生成,提供更高的性能。
图书馆可用性:
- Arduino:用于各种任务的庞大库生态系统。
- STM32Cube:一个不断发展的库生态系统,但可能没有 Arduino 那样广泛。
调试:
- Arduino:基本调试功能,通常仅限于串行输出。
- STM32Cube:高级调试功能,包括 GDB 和 J-Link 支持。
配置:
- Arduino:通常配置更简单,特别是对于基本项目。
- STM32Cube:更复杂的配置选项,尤其是高级功能。
IDE:
- Arduino:带有 Arduino 扩展的 Arduino IDE 或 VSCode。
- STM32Cube:具有 STM32Cube 扩展的 STM32CubeIDE 或 VSCode。
学习曲线:
- Arduino:对于初学者来说更容易学习。
- STM32Cube:需要更深入的微控制器和嵌入式系统知识。
总体而言,Arduino 对于初学者和简单项目来说是一个不错的选择,而 STM32Cube 则为高级应用程序提供了更多的灵活性、性能和功能。