📄️ 引言
为什么要学STM32
📄️ 第一章 第1章从STC89C5RC到STM32
将STM32与前面学习的STC的51单片机进行类比学习,尤其对于已经学过51单片机的同学来说,将会更加有利于深刻理解32位单片机的用法。本章内容将STM32单片机和51单片机进行简单比较,方便读者由浅入深理解32位的单片机。
📄️ 第二章 MDK在线调试与代码规范
使用在线调试的方式进行STM32程序开发,可以直观实时观察程序中变量的变化情况,快速定位程序逻辑错误。通过设置断点、单步执行、查看寄存器和内存等手段,能够深入分析程序运行状态。在调试过程中,应遵循代码规范,合理命名变量与函数,添加必要的注释,确保代码可读性与可维护性。同时,使用一致的缩进和代码结构,有助于提升团队协作效率,并降低后期维护成本。
📄️ 第三章 STM32的GPIO输入输出功能
STM32作为单片机裸机(不带操作系统)开发,其实和51单片机属于大同小异。本章节集中将STM32单片机控制小灯、蜂鸣器、继电器以及读取外部按键集中实验验证。
📄️ 第四章 前后台程序与状态机
通过掌握STM32的GPIO输入输出功能,能够实现LED的开关控制和按键检测。其中,可靠的按键检测除了需要读取GPIO电平外,还必须进行消抖处理(通常借助定时器实现);而当检测逻辑需要处理多个状态时,基于状态机的方法则更为实用和高校,本章将重点介绍这一方法。
📄️ 第五章 协作式系统与FreeRTOS
上一章流水灯和按键状态机的“非阻塞编程”实验,可以让多个任务在单核MCU上“齐头并进”。但这好比一位开发者同时负责多个项目,难免会手忙脚乱,担心某个任务被“饿死”。有没有一种方法,找一个可靠的“项目负责人”,自动、合理地分配CPU时间,确保每个任务都能按时完成?这就是本章的主角——FreeRTOS(Free Real-Time Operating System)!作为最流行的嵌入式RTOS之一,它将带领用户从“逻辑轮询”的原始社会,步入“多任务调度”的现代操作系统时代。
📄️ 第六章 UART串口通信
在掌握RTOS的基础后,后续章节的代码都将在RTOS环境下编写。为便于理解,课程将采用“先介绍裸机配置,再讲解RTOS下的实现”的对比方式进行学习。