秉承在新工科背景下,相关专业发展必须加强实训的理念,同时吸取了工程化教学思想,因此与同类书籍相比具有如下特点:
(1)《STM32嵌入式原理及应用》实现理论与实践相结合,在讲述理论基础上,完成项目实践操作,在实践过程中赋予相关理论知识更应有利于学习者对嵌入式各个方面技术的理解,每一个项目实践可独立完成,又相互联系,为了培养学生高阶性、创新性,又增加拓展训练项目,学习者可以对其中的知识和实践进一步深入和延伸。
(2)内容层次清晰,由简单的复杂,层次分明,逐渐递进。
(3)启发拓展思考。本书提供了完整的代码,用于加深对理论知识的理解,同时也编写了大量的实践拓展训练,增加学习者的兴趣,引导学习者进一步思考和设计扩展应用,完成创新实验设计。
(4)增加了课程思政育人。在理论知识、实践应用的同时注重育人功能,围绕科技创新、工匠精神、职业精神、敬业精神、安全意识、团队合作意识、集体意识等进行。
第1章 STM32微控制器
1.1 STM32微控制器
1.1.1 Cortex-M3的MCU
1.1.2 Cortex-M3的主要优势
1.1.3 Cortex-M3系列
1.2 STM32系统架构及命名规则
1.2.1 STM32系统架构
1.2.2 STM32命名规则
1.3 STM32的应用领域
练习与拓展
第2章 STM32硬件开发平台
2.1 STM32F103最小系统板
2.2 I/O扩展模块
练习与拓展
第3章 开发环境搭建与工程模板创建
3.1 STM32固件库概述
3.2 MDK软件及支持包安装
3.2.1 MDK软件安装
3.2.2 支持包安装
3.3 CH340驱动安装
3.4 程序下载方法1:ISP串口程序下载
3.4.1 ISP串口程序下载硬件连接
3.4.2 下载工具FlyMcu配置
3.5 程序下载方法2:ST-LINK程序下载
3.5.1 ST-LINKV2的硬件连接
3.5.2 ST-LINK驱动的安装
3.5.3 ST-LINK固件升级
3.5.4 MDK软件上配置ST-LINK
3.6 基础项目实践
3.6.1 项目1:新建基于库函数的MDK5模板
3.6.2 项目考核评价表
练习与拓展
第4章 STM32GPIO原理与项目实践
4.1 GPIO概述
4.2 GPIO工作模式与输出速度
4.2.1 GPIO工作模式
4.2.2 GPIO输出速度
4.3 STM32时钟系统
4.3.1 时钟源
4.3.2 外设及系统时钟
4.3.3 APB2外设时钟使能寄存器(RCC_APB2ENR)
4.4 STM32GPIO相关配置寄存器
4.5 端口复用和重映射
4.5.1 端口复用功能
4.5.2 端口重映射
4.6 位操作
4.6.1 位操作基本原理
4.6.2 位带操作定义
4.7 GPIO相关的库函数
4.8 基本项目实践
4.8.1 项目2:基于库函数操作的I/O口输出控制LED灯闪烁
4.8.2 项目3:基于寄存器的I/O口输出控制LED灯闪烁
4.8.3 项目4:基于位操作的I/O口输出控制LED灯闪烁
4.8.4 项目考核评价表
4.9 拓展项目实践
4.9.1 项目5:I/O口输出控制LED流水灯
4.9.2 项目6:I/O口输出控制蜂鸣器和LED亮灭
4.9.3 项目7:单按键控制LED灯和蜂鸣器
4.9.4 项目8:I/O口输入/输出综合项目
4.9.5 项目9:数码管显示独立式按键值
4.9.6 项目10:数码管显示矩阵式键盘按键值
练习与拓展
第5章 STM32中断系统原理与项目实践
5.1 中断概述
5.1.1 中断的概念
5.1.2 NVIC介绍
5.2 NVIC嵌套向量中断控制器
5.2.1 STM32F103中断向量表
5.2.2 NVIC中断优先级分组
5.2.3 中断优先级分组雨数
5.2.4 抢占优先级和响应优先级
5.2.5 中断设置相关寄存器
5.2.6 中断优先级设置步骤
5.3 外部中断/事件控制器
5.3.1 外部中断/事件控制器结构
5.3.2 外部中断/事件输入线
5.4 STM32中断相关库函数
5.4.1 NVIC相关库函数
5.4.2 EXTI相关库函数
5.4.3 EXTI中断线GPIO引脚映射库函数
5.5 基本项目实践
5.5.1 外部中断的一般配置步骤
5.5.2 项目11:按键中断控制流水灯和蜂鸣器
5.5.3 项目考核评价表
5.6 拓展项目实践
5.6.1 项目12:三路抢答器
5.6.2 项目13:七路医院输液呼叫器
练习与拓展
第6章 STM32定时器原理与项目实践
6.1 STM32F103定时器概述
6.2 基本定时器
6.2.1 基本定时器结构
6.2.2 基本定时器的计数模式
6.3 通用定时器
6.3.1 通用定时器结构
6.3.2 通用定时器的计数模式
6.3.3 通用定时器主要寄存器
6.4 定时器相关库函数
6.5 基本项目实践
6.5.1 项目14:定时器中断控制LED闪烁
6.5.2 项目15:输入信号脉冲宽度测量
6.5.3 项目16:PWM控制LED实现呼吸灯
6.5.4 项目考核评价表
6.6 拓展项目实践
项目17:城市交通灯
练习与拓展
第7章 STM32串口通信原理与项目实践
7.1 串口通信概述
7.2 STM32USART工作原理
7.2.1 数据帧格式
7.2.2 波特率
7.2.3 数据收/发过程
7.2.4 USART内部结构
7.2.5 数据传输状态获取方式
7.2.6 USART硬件连接
7.2.7 USART寄存器介绍
7.3 USART的相关库函数
7.4 基本项目实践
7.4.1 项目18:串口控制LED灯亮灭
7.4.2 项目考核评价表
7.5 拓展项目实践
项目19:手机——蓝牙——STM32控制家庭照明灯
练习与拓展
第8章 STM32IIC原理与项目实践
8.1 IIC概述
8.2 HIC基本原理
8.2.1 IIC总线结构
8.2.2 IIC总线协议
8.2.3 IIC的寻址与读写过程
8.3 STM32的IIC特点及内部结构
8.3.1 STM32的IIC主要特点
8.3.2 STM32的IIC内部结构
8.4 OLED显示屏
8.4.1 OLED简介
8.4.2 0.96英寸OLED IIC显示屏模块
8.4.3 STM32与0.96英寸OLED IIC接口连接
8.5 STM32F103的IIC相关库函数
8.6 基本项目实践
8.6.1 项目2