老铁们,有没有试过一上来就被 STM32 的环境配置刷屏?CubeMX、HAL、LL、CMSIS…一堆东西搞得头都大。今天给大家推荐一个神器——Arduino_Core_STM32,让你用熟悉的 Arduino IDE,分分钟玩转 STM32。
到底啥是 Arduino_Core_STM32?
简单来说,它就是给 Arduino IDE 加了个插件,让它原生支持 STM32 系列单片机:
-
• 基于 STM32Cube 的 HAL 和 LL 库
-
• 集成 CMSIS 设备定义
-
• 配套 GNU Arm 编译链、OpenOCD 调试
装好这个“核心”,你就能像给 UNO、Mega 上电一样给 Nucleo、Blue Pill、Discovery 板子“刷程序”了。 -
那些痛点被它解决了
-
1. 环境复杂:不用再安装 STM32CubeIDE、手动配置编译器、调试脚本,一条 URL 就能搞定。
-
2. API 分散:HAL、LL、CMSIS,三大套件一次到位,调用和 Arduino 一模一样。
-
3. 生态落差:Arduino 丰富的库,很多直接能拿过来用,降低学习成本。
-
4. 板子支持面广:从 Nucleo 32/64/144 到各种“山寨”板、3D 打印板、LoRa 模块,统统包括。
快速上手:几步搞定 STM32
-
1. 打开 Arduino IDE → “首选项” → “附加开发板管理器网址”里填:
https://github.com/stm32duino/BoardManagerFiles/raw/main/package_stmicroelectronics_index.json
2. 打开“开发板管理器”,搜索 STM32,安装最新版本。
3. 选中你手上的 STM32 板子,端口、频率都可以拖拉式配置。
4. 编写 Arduino 代码,一键上传。
示例代码:点亮 LED
// STM32_LED_Blink.ino
void setup() {
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(500);
digitalWrite(LED_BUILTIN, LOW);
delay(500);
}
看到了吗?和 UNO 一模一样!唯一的区别,就是你可以把它跑在超强的 M4/M7 核心上。
支持哪些主流 STM32 板子?
|
板子类型 |
示例 |
备注 |
|
Nucleo 64 |
Nucleo F103RB |
Release ≥ 0.2 |
|
Nucleo 144 |
Nucleo F767ZI |
Release ≥ 1.4 |
|
蓝牙 LoRa 板 |
RAK3172 Module |
Release ≥ 2.6 |
|
普通 F103 板 |
Blue Pill |
Release ≥ 1.5 |
优缺点一览
|
优点 |
缺点 |
|
Arduino 生态库几乎原生可用 |
部分高级外设(比如双核 STM32MP1)支持有限 |
|
配置界面友好,上传秒开秒刷 |
对超大项目编译速度一般 |
|
支持丰富板型,从 F0 到 H7 全覆盖 |
某些新型号需要手动更新核心 |
|
一键调试(配合 OpenOCD / ST-Link) |
对老 Arduino IDE 1.x 支持不好 |
总结
总的来说,Arduino_Core_STM32 真的是给想要快速上手 STM32、把 Arduino 库搬过来的朋友量身打造的。如果你想抛开繁琐的配置,直接用 Arduino IDE 去 “搞事情”,它绝对能帮你少走很多弯路。下次做 IoT、机器人、3D 打印项目,不妨试试 STM32 + Arduino_Core_STM32 的组合,爽歪歪!
项目地址:https://github.com/stm32duino/Arduino_Core_STM32