- STM32嵌入式技术应用开发全案例实践
- 苏李果 宋丽主编
- 1996字
- 2025-04-01 15:07:46
1.1.5 学习STM32需要哪些工具与平台,有什么好的学习方法
1.学习STM32所需的工具与平台
在开始STM32学习之前,我们需要先挑选一块合适的STM32开发板。初学者不应盲目地追求开发板的功能,应以够用为原则,重点关注开发板配套的学习资料与视频是否详细、全面。目前市面上可供选购的STM32开发板主要有两种:最小系统板和外设齐全的开发板,分别如图1-1-6(a)和图1-1-6(b)所示。上述两种开发板各有优缺点:从价格上来说,最小系统板比外设齐全的开发板便宜;从提升硬件电路的构建能力来说,在使用最小系统板进行学习时,需要自行搭建外设的应用电路,这有助于学习者更好地理解外设电路的原理,并能够提高其电路板设计与制作的能力;从使用的便利性来说,外设齐全的开发板具有绝对的优势,学习者使用这种开发板可以方便地完成芯片性能的测试、程序功能的验证以及想法创意的快速应用。

图1-1-6 STM32开发板
ST公司官网显示,支持STM32开发的集成开发环境(Integrated Development Environment,IDE)有20余种,其中包括商业版IDE和免费的IDE。目前比较常用的商业版IDE有MDK-ARM STM32和IAR-EWARM,免费的IDE有SW4STM32、TrueSTUDIO和CoIDE等。另外,ST公司官方推荐使用STM32CubeMX软件可视化地进行芯片资源和管脚的配置,然后生成项目的源程序,最后导入IDE中进行编译、调试与下载。常见的支持STM32开发的IDE如图1-1-7所示。

图1-1-7 常见的支持STM32开发的IDE
2.学习STM32的方法
如果想在短时间内上手STM32微控制器的开发(即“入门STM32”),初学者需要采用科学的学习方法,制定一个完善的学习计划并严格按照计划实施。
首先,不要把时间过多地花在犹豫上。人们在学习一项新技术前,可能都会经历“犹豫期”。他们会先查阅资料,了解新技术并解决心中的一些疑问,如这个技术难不难、需要什么基础、适合不适合自己等。适当的前期调研是必要的,但过多地思索却没有实际行动是永远不可能入门的。因此,如果你对STM32开发感兴趣,那么请不要过多地犹豫,根据后面介绍的方法按部就班地开始学习吧。
然后,准备好必需的STM32开发板、开发软件和学习文档。STM32开发板与开发软件的选择可参考前文,此外,我们还需要准备以下几个必备的学习文档:一是《STM32F4xx中文参考手册》,它介绍了STM32F4系列微控制器各种外设的工作原理;二是《STM32标准外设库使用手册》,它介绍了STM32标准外设库函数API的调用方法和使用实例;三是某个型号的STM32微控制器的Datasheet,该文档有助于我们了解MCU的电气性能、管脚分布与外设功能;四是开发板生产厂商编制的产品使用手册。
最后,一个很重要的环节是制定学习计划。
(1)快速浏览一遍文档
STM32开发涉及的文档内容很多,没必要也无法一次性全部看完,但STM32开发的通用基础部分必须得看,如存储器和总线架构、电源控制、备份寄存器、复位和时钟控制、GPIO引脚及其功能复用、中断等。具体某个外设的工作原理与使用方法在用到时再仔细阅读即可。
(2)制定分阶段目标
STM32的学习过程可以分为以下3个阶段。
第一阶段是“找感觉”阶段。拿到STM32开发板之后,先把厂家配套的开发板使用手册浏览一遍,以熟悉开发板上的硬件组成。接下来可以按照使用手册中与开发板配套的测试例程的操作步骤,操作一遍开发板。本阶段的学习能让你找到感觉并建立自信。
第二阶段是“模仿”阶段。在了解了STM32开发的基本流程之后,可以选取一些例程,详细分析其工作原理与实现方法,并对例程的功能进行修改,以达到不同的运行效果。本阶段的学习能让你获得成就感。
第三阶段是“自由发挥”阶段。在熟练掌握STM32的开发流程并具备一定的开发经验之后,你可以选取并开发一个综合性较强的小项目。在项目的开发过程中,应严格按照实际的项目开发流程实施,不可遗漏一些重要的环节,如需求分析、系统功能描述、程序流程图绘制与软件文档编写等。通过本阶段的学习,你将积累宝贵的项目开发实战经验。
经过以上3个阶段的学习,你就可入门STM32微控制器的开发!
3.经验之谈
(1)遇到问题怎么办
先谈谈对待问题的态度:遇到问题时不要抱怨。俗话说得好:出现问题是给你学习的机会。因此解决问题的过程可以促进能力的提升。我们应摆正态度,正视问题。
另外,遇到问题时不要马上四处求助。当问题刚出现时,你可能还无法看清问题的全貌,也无法用最合适的语言将问题表述清楚以使别人理解并做出回答。因此在遇到问题时,应先查资料,自己尝试解决问题。
如果经过一番分析,你仍然无法解决问题且必须向他人请教时,应注意提问题的艺术,即不问不具体的问题。如“FreeRTOS如何移植?”这个问题,需要非常大的篇幅才能阐述清楚,因此类似的问题是需要避免的。换个角度,如果我们将项目实施过程中遇到的具体问题提出来并向技术“大师”请教,有经验的人可能几句话就可以解答,因此这才是正确的提问方式。
(2)学习过程中注意总结经验
在STM32的学习过程中,可能会遇到很多问题,你通过自己的努力解决了这些问题,并获得了成就感,但是过了一段时间你可能会忘记当时的解决方法与步骤。因此在学习过程中,花一点时间进行经验总结是非常有必要的。如果我们能将总结文档发布到博客中进行分享,则可为遇到相同问题的人提供帮助,何乐而不为呢?