前言
STM32是意法半导体(STMicroelectronics,ST)公司基于Arm CortexM内核开发的32位微控制器(MicroController Unit,MCU)。自问世以来,就以其强大的性能和灵活的应用场景赢得了市场的普遍认可,目前广泛应用于智能车、无人机、机器人、无线通信、物联网、工业控制、娱乐电子产品等嵌入式领域。
STM32凭借其卓越的性能和广泛的应用场景,正在不断拓展其市场应用领域。例如,在工业自动化领域,随着工业4.0的推进,工业自动化程度不断提高,STM32将广泛应用于工业控制系统、传感器节点等领域,助力工业自动化的发展;在智能家居领域,智能家居市场近年来蓬勃发展,STM32将作为核心控制器,应用于智能家电、智能照明等系统,提升家居生活的便捷性和舒适度;在汽车电子领域,随着新能源汽车的兴起,汽车电子市场迎来新的发展机遇,STM32将应用于车载信息娱乐系统、车身控制系统等领域,提高汽车的智能化水平。
随着STM32系列MCU应用越来越普及、市场份额持续提升,市场上涌现了大量与之相关的开发板和专业图书资源。然而,现有文献资料中提供的案例和实践练习往往过于复杂且综合性过强,缺乏系统性和条理性,内容讲解显得零散,同时,这些资料在读者定位方面也不够明确,不适合作为高等学校和职业教育相关课程的教学材料。
本书根据编者在教学和科研领域多年积累的经验编写而成,紧跟当前教育改革的步伐,特别是产教融合和一流本科课程建设的最新趋势。全书深入浅出、系统全面地介绍了基于硬件抽象层(Hardware Abstraction Layer,HAL)库和FreeRTOS的STM32程序设计,面向已经具备微机和单片机原理等基础知识的读者。
本书内容组织逻辑严密、案例丰富,每个案例都精心挑选,所有示例程序都使用STM32CubeIDE v1.17.0(固件包版本为1.28.1)进行编写和编译,并在野火霸天虎开发板(所用MCU型号为STM32F407ZGT)上运行、测试和验证。本书文字表述简洁明了,尽量避免复杂的术语堆砌,能够帮助初学者轻松上手,深入理解STM32程序设计的精髓。通过本书的学习,读者将能够掌握如何高效地利用STM32微控制器进行项目开发,为未来在嵌入式系统领域的职业发展奠定坚实的基础。
全书共11章,分为以下四部分。
第一部分(第1~3章)介绍STM32的体系结构、编程基础、固件包与HAL库,是全书内容的基础。
第二部分(第4~7章)介绍基于HAL库和STM32CubeIDE的程序设计,主要介绍STM32的典型外设,包括中断和系统定时器、通信接口及其应用、定时器及其应用和模拟外设等。
第三部分(第8~10章)介绍基于FreeRTOS的STM32程序设计,主要介绍FreeRTOS基础、FreeRTOS的任务和中断管理,以及FreeRTOS进程间通信技术。
第四部分(第11章)综合应用前面各章的知识,分别采用基于HAL库与FreeRTOS的程序设计方法,实现两轮差速移动机器人前进、后退、旋转的运动控制以及巡线控制功能。
本书部分章节配有题型多样的练习和完整的实验指导,这些内容与理论知识紧密结合,适合作为高等学校及各类职业教育培训机构中“嵌入式系统”“STM32程序设计”等课程的教材。全书建议学时为64学时(含32学时的实验实践)。教师可根据具体专业人才培养方案和课程教学大纲,在教学内容与顺序上灵活取舍。例如,如果课程学时较少,可重点讲授第一、二、四部分的内容,略过FreeRTOS嵌入式操作系统部分;如果课程侧重嵌入式操作系统入门,可重点讲授第一、三、四部分的内容。
本书的编写得到了ST公司和四川省产教融合项目(交大九洲电子信息装备产教融合示范项目,项目号WB0100111022101)的大力支持。在编写过程中,编者也参考了大量文献资料,在此对参考文献中列出的图书作者及相关专家表示由衷感谢。
由于编者水平、经验有限,书中难免存在疏漏与不足,真诚希望读者提出宝贵意见。
编者2026年5月
