简介
HAL 库开发¶
我建议新手学习可以从 HAL 库学起,因为它提供了更高层次的抽象,简化了硬件操作,使得开发过程更加直观和易于理解。通过使用 HAL 库,可以更快地上手 STM32 的编程,减少了对底层硬件细节的关注,从而更专注于应用逻辑的实现。 对于之前学习过标准库的同学我建议也转到 HAL 库,这样可以极大程度避免因寄存器配置而导致的问题。
- 推荐看 keysking 的 STM32入门教程
HAL库极大的简化了学习的成本,如LED灯闪烁代码只需在 CubeMX 生成的 main.c 中写几行代码即可实现。
开发环境¶
STM32 的开发环境主要有以下几种选择:
- STM32CubeIDE:这是 ST 官方提供的集成开发环境,基于 Eclipse 和 GCC 工具链,集成了 STM32CubeMX。
- Keil MDK:这是一个功能强大的商业开发环境,支持 ARM 处理器,提供丰富的调试和分析工具。
- CLion:这是 JetBrains 提供的跨平台 C/C++ IDE,支持 STM32 开发。
- VSCode:这是一个微软开发的 IDE,通过安装相关插件,可以支持 STM32 的开发。
PlatformIO:这是一个基于 IDE 的开源开发环境,支持多种嵌入式平台,包括 STM32。
关于 PlatformIO
PlatformIO 需要安装在 VSCode 或 Clion 上,配置相对复杂,不推荐使用。不过一个开发环境就能开发所有 Arm 架构的芯片,还是挺强大的,但是因为是 IDE 的一个插件,可能会有兼容性的问题。
如果你是初学者,建议从 STM32CubeIDE 或 Keil MDK 开始,因为它们初始集成了STM32的相关工具和库,使用起来相对简单。而使用 Clion 或 VSCode 则需要自行配置编译环境和调试工具,适合有一定经验的开发者。
STM32CubeIDE 没有代码补全功能
Git 版本控制¶
Git 是当前最先进、最主流的分布式开源的 版本控制 系统。核心能力就是版本控制。具体而言,是面向代码文件的版本控制,代码的任何修改历史都会被记录管理起来,意味着可以 恢复到到以前的任意时刻状态。Git 支持跨区域 多人协作编辑,是团队项目开发的必备基础,所以 Git 也就成了程序员的必备技能。
主要特点¶
- 开源免费,使用广泛;
- 强大的文档(代码)的历史版本管理,直接记录 完整快照 (完整内容,而非差异),支持 回滚、对比;
- 分布式多人协作的的代码 协同开发,几乎所有操作都是本地执行的,支持代码 合并、代码同步;
- 简单易用的 分支管理,支持高效的创建分支、合并分支。
Git 教程¶
Git 图形化操作界面
Git 本身没有图形化操作界面,而使用 Clion、VSCode 都集成了 Git 的图形化操作界面。如果使用传统的 Keil、STM32CubeIDE 则只能使用命令行或者自行安装第三方的图形化操作界面。具体的教程需根据你使用的 IDE 来决定。
VOFA+¶
PID 调参时,使用 VOFA+ 或其他串口调试助手查看数据会比较方便。