STM32上手必读:从零开始的嵌入式开发之旅

本篇,聊一点让STM32新手少走些弯路的闲话。

目录

一、STM32是什么,能干什么?

二、STM32的学习路径建议

三、STM32 开发环境推荐


一、 STM32是什么,能干什么?

1、STM32是什么?
STM32是一款由STMicroelectronics(意法半导体)公司生产的微控制器(MCU)。简单来说,它就像是一个“超级大脑”,可以用来控制各种电子设备。STM32的核心是一个32位的ARM Cortex-M处理器,这意味着它比普通的8位微控制器(比如51单片机)更强大、更灵活。

2、STM32能干什么?
STM32可以用来实现各种有趣的项目,比如:

  • 控制LED灯、蜂鸣器、电机等硬件:点亮LED灯、控制电机转动、让蜂鸣器发出声音。
  • 采集传感器数据:采集温度、湿度、光强、距离等。
  • 与外部设备通信:通过蓝牙、Wi-Fi、串口与其他设备交换数据。
  • 制作智能小车、机器人:用STM32控制小车的运动,实现避障、循迹等功能。
  • 智能家居设备:制作一个智能开关、自动浇花装置等。

3、为什么选择STM32?

  • 功能强大:支持多种外设接口(如SPI、I2C、UART等),可以连接各种传感器和模块。
  • 资源丰富:官方有大量的支持文档; 网上海量的免费教程、文档和开源代码,方便学习。
  • 国产替代:做项目时,有大量的国产型号,能Pin to Pin地完美替换STM32。大家都懂~~

二、STM32的学习路径建议

很多板商教程,都会从理论知识起步,一点点地讲解STM32。

但是,小编也是趴在地上爬着过来的,真心不建议刚上手STM32就花大量时间埋头理论知识。

因为,绝大部分理论在这个阶段是看不明白的!理解效率低,进度慢,很容易失去劲头。

建议的上手方法是,先花一周左右,细细消化下面6项:

  1. 新建工程、编译、仿真器设置、烧录; (半天)
  2. GPIO 输入、输出 (1天)
  3. EXTI 外部中断     (半天)
  4. NVIC                    (半天)
  5. UART、printf      (两天;极度重要,玩溜STM32的必备技能)
  6. 移植文件                 (1小时)

这6项,是STM32的入门基础 ,也是玩溜STM32的重中之重!必须精学、精通!

然后,可以开始着手做自己的项目!

是的,你没看错,在这个阶段,就应该开始做项目了!边做边查,边抄边学 !

当需要用到 SPI、I2C、CAN、屏幕显示、RTOS时, 抄板商代码即可,或者, 上csdn.cn翻文章。

不管是什么方案,先去做!

不管是什么项目,先去做!

只有通过实战,才能发现知识需求、有效地扩充知识量!

也只有通过不断的错误排查,才能更深入理解地 GPIO、EXTI、NVIC、UART 、printf 这几项的。

谨记:

玩嵌入式开发,日常状态是:每天都是抄、每天都在踩坑、每天都在排错 !

也因此,我们必须精通上述几项,踩坑时,才能用最基本的手段定位错位!不然,叫天天不灵!


三、STM32 开发环境推荐

1、开发软件的选择

  • Keil + CubeMX: 目前最优解; CubeMX负责配置、生成工程,Keil 负责编写代码、编译、烧录、调试;  目前STM32的项目,绝大部分都是基于Keil。
  • CubeIDE:免费!没版权问题!近两年的新兴软件。可以理解为Keil+CubeMX的结合体。但是有两个明显的短板:不支持中文目录、名称,和参考工程尚少; 适合企业用户!
  • VSCode:玩纯软件开发那批客户的至爱,  界面美观,写代码很享受,感觉是丝一般顺滑。缺点:环境配置、插件安装、调试、烧录,比较麻烦,另外也是参考工程数量少。适合有经验的老司机折腾。

2、库的选择

意法半导体最初推出的是STM32F103系列,官方提供了标准库,方便开发者快速开发应用。

接着推出的F4系列,官方也提供了标准库。

但是,F1与F4的标准库,代码是不通用的。如 F1的GPIO 初始化代码,不能复制到F4上使用。

后续STM32的型号越出越多,官方为了实现底层与业务层的解耦、提高代码的通用性和可移植性,ST官方在后续推出的STM32系列中统一采用HAL库(还有一个没人喜欢的LL库)。

HAL库提供了更高层次的抽象,便于在不同STM32产品之间移植代码,同时支持与STM32CubeMX等工具的无缝配合。

综上所述,如果你使用的是F1、F4系列,可以选择标准库、HAL库。如果使用的F7、H7、G4等系列,就没有标准库了,只能使用HAL库。

建议1:不管哪个系列,优先使用HAL库!  主流趋势!能方便地把业务代码移植到不同的型号上。

建议2:HAL库的运行效率不高,当某些功能需要频繁地、速度地运行时,如刷屏,把这部分运行代码,改为寄存器操作,能有效地提高效率!

3、 常用的辅助软件、网站

在学习STM32开发过程中,以下辅助软件、链接经常会用到:

软件名称

用途

下载链接

串口调试助手

用于查看串口通信数据(如调试信息)

常用串口助手下载

csdn.net

资料、代码,开发者的圣地

https://www.csdn.net/

Kimi

AI。语法、程序逻辑、技术,通通能问

Kimi - 会推理解析,能深度思考的AI助手

DeepSeek

AI。同上。与Kimi对照着问,更准确

DeepSeek

PixPin免费的截图工具。抄功课的必备神器PixPin - 强大且免费的截图贴图工具
有道翻译免费的翻译软件。单词翻译、截图翻译有道翻译桌面端_官方下载

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值