跳到主要内容

第一步

STM32 板是一款功能强大的微控制器板,可用于各种应用。 在本教程中,我们将学习如何设置 STM32 板。

GitHub

为什么选择STM32?

STM32 对于初学者来说是一个不错的选择,因为:

  • 比Arduino更强大
  • 调试器很便宜
  • 更多外设
提示

如果您需要 WiFi 或蓝牙,您应该使用 ESP32,但如果您需要更多电量,您应该使用 STM32。 在本教程中我们不会讨论 ESP32。

esp32 vs stm32:哪种微控制器更适合您?

你需要什么

为了开始使用 STM32,您将需要以下内容:

  • Blackpill/Bluepill STM32 板:
    • 您可以以低于 4 美元的价格购买廉价的 Blackpill STM32 克隆板。
  • ST-LINK V2/V3:
    • 您需要它来将固件上传到主板。
    • 您可以以低于 5 美元的价格购买廉价的 ST-LINK V2 克隆版。
  • 带有 PlatformIO 或 Arduino IDE 的 VScode:
    • 您可以从此处下载VSCode。
    • 您可以从 VSCode 扩展市场安装 PlatformIO。
  • STM32CubeProgrammer

Blackpill 板 Blackpill STM32 板

DFU upload

虽然 Blackpill STM32 板支持 DFU,这意味着您可以使用 USB 上传固件,但您应该有一个 ST-LINK 来使用调试等有用的功能。

推荐堆栈

我们推荐使用以下堆栈进行 STM32 开发:

  • VSCodePlatformIO
    • 您可以使用 GitHub Copilot 获取代码建议,这可以帮助您更快地编写代码。
  • ST-LINK V2克隆
    • 非常便宜(< 5 美元)
  • Blackpill STM32 板
    • 非常便宜(< 4 美元)
    • DFU 支持
      • You can upload the firmware using USB as well.
    • 比 Bluepill 更强大
  • Arduino框架
    • 便于使用
    • 适合初学者

ST-LINK V2 克隆

Arduino 与 STM32Cube

STM32 开发有两种流行的框架:Arduino 和 STM32Cube。

信息

框架是帮助您为微控制器编写代码的库和工具的集合。它就像一组可用于创建项目的构建块。

以下是Arduino框架和STM32Cube框架之间的比较:

特色Arduino 框架STM32Cube框架
易于使用很容易中等
社区支持中等
性能中等
图书馆可用性广泛中等
调试基本高级
配置简单复杂
IDEArduino IDE、VSCodeSTM32CubeIDE、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 则为高级应用程序提供了更多的灵活性、性能和功能。