书籍详情
STM32单片机原理与项目实战
作者:刘龙 高照玲 田华
出版社:人民邮电出版社
出版时间:2022-09-01
ISBN:9787115578518
定价:¥89.80
购买这本书可以去
内容简介
近年来,嵌入式系统开发技术和嵌入式产品的发展势头迅猛,其应用领域涉及通信、消费电子、汽车工业等各个方面。嵌入式系统的设计与开发是一项实践性很强的专业技术,要求从业者深刻理解理论知识,并将原理与实践紧密结合。本书旨在以实践驱动学习,通过“做中学”的方式让读者掌握相关知识点。全书内容分为10章,主要介绍了STM32系列处理器的基础知识、开发工具、基本系统、通用输入输出端口应用、系统节拍定时器、中断系统、定时器、串行通信、模数转换器,并展示了一个综合项目—温度控制系统。书中提供了19个范例,这些范例可以帮助读者循序渐进地掌握嵌入式系统开发的核心技术。本书适合电子信息、通信、控制、计算机等相关专业的师生阅读,也适合作为嵌入式系统开发的入门教程,是一本既适合自学入门,又适合教学参考的图书。
作者简介
刘龙,副教授,博士,任大连市人工智能协会副理事长,辽宁省一流本科教育示范专业负责人。2006年起至今从事嵌入式系统方向教学工作10余年,对相关领域有一定了解。多年以来,发表的重要学术文章达20余篇,主持并参与省部级项目5项,主持省级教改项目1项,获得省级教学成果奖3项。高照玲,研究生学历,毕业于哈尔滨工程大学。2006年参加教学工作,主要研究方向为导航制导与控制和嵌入式系统应用。 田华,研究生学历,毕业于贵州大学理学院。2009年参加教学工作,主要研究方向为嵌入式控制系统的设计应用。
目录
第 1章 STM32单片机的基础知识 1
1.1 单片机的由来与发展历史 2
1.1.1 嵌入式系统 2
1.1.2 嵌入式计算机系统 4
1.1.3 单片机的发展历史 5
1.1.4 单片机的发展趋势 6
1.2 单片机的应用 9
1.2.1 单片机的应用结构 9
1.2.2 单片机的应用领域 10
1.3 其他单片机 11
1.4 ARM简介 12
1.4.1 ARM公司简介 12
1.4.2 ARM的体系结构 12
1.4.3 ARM的发展 13
1.5 Cortex-M3内核与STM32简介 14
1.5.1 什么是Cortex-M3
内核 15
1.5.2 什么是STM32 18
1.5.3 STM32单片机的时钟 21
1.6 STM32单片机的C语言编程
知识点 23
1.6.1 STM32编程的特点 23
1.6.2 STM32编程中的数据
类型 24
1.6.3 STM32编程常用的C语言
知识点 26
1.7 什么是CMSIS固件库 32
1.7.1 CMSIS固件库简介 32
1.7.2 CMSIS固件库设计及
规范 33
1.8 习题与巩固 34
第 2章 STM32单片机的开发工具 36
2.1 STM32的开发工具一览 37
2.1.1 硬件开发工具 37
2.1.2 软件开发平台 38
2.2 硬件开发工具JLink 38
2.2.1 JLink的驱动安装及调试
接口 38
2.2.2 硬件调试接口JTAG/SWD
的定义 39
2.3 软件开发环境MDK的使用
方法 42
2.3.1 MDK的安装 43
2.3.2 MDK工程模块的创建 43
2.4 习题与巩固 65
第3章 STM32单片机的基本系统 67
3.1 单片机的基本系统组成元素 68
3.2 项目实战:电源电路的设计 69
3.2.1 概述 69
3.2.2 范例1:电源电路的
设计 70
3.2.3 电源电路设计注意事项 73
3.3 项目实战:复位电路的设计 73
3.3.1 概述 73
3.3.2 范例2:复位电路的
设计 74
3.3.3 复位电路设计注意事项 75
3.4 项目实战:时钟电路的设计 76
3.4.1 概述 76
3.4.2 范例3:时钟电路的
设计 76
3.4.3 时钟电路设计注意事项 76
3.5 项目实战:调试电路的设计 77
3.5.1 概述 77
3.5.2 范例4:调试电路的
设计 77
3.5.3 调试电路设计注意
事项 78
3.6 项目实战:启动电路的设计 78
3.6.1 概述 78
3.6.2 启动电路分析及工作
原理 79
3.7 习题与巩固 80
第4章 通用输入输出端口应用 81
4.1 GPIO工作原理 82
4.1.1 STM32F103C8T6单片机的
引脚 82
4.1.2 引脚内部构造 85
4.1.3 GPIO的8种工作模式 86
4.2 GPIO寄存器功能详解 90
4.2.1 端口配置低寄存器(GPIOX_CRL) 90
4.2.2 端口配置高寄存器(GPIOX_CRH) 91
4.2.3 端口输入数据寄存器(GPIOX_IDR) 92
4.2.4 端口输出数据寄存器(GPIOX_ODR) 92
4.2.5 端口位设置/清除寄存器
(GPIOX_BSRR) 93
4.2.6 端口位清除寄存器
(GPIOX_BRR) 94
4.3 利用库函数使用GPIO的方法 94
4.3.1 初始化端口 95
4.3.2 初始化时钟 97
4.3.3 GPIO引脚控制 103
4.4 项目实战:开关量驱动外设 104
4.4.1 GPIO硬件接口电路设计
要点 104
4.4.2 范例5:GPIO驱动发光
二极管 105
4.4.3 范例6:GPIO驱动
蜂鸣器 109
4.4.4 范例7:GPIO驱动
数码管 112
4.5 习题与巩固 117
第5章 系统节拍定时器 119
5.1 系统节拍定时器概述 120
5.2 系统节拍定时器的相关寄存器
功能详解 121
5.2.1 控制和状态寄存器
CTRL 121
5.2.2 重装载值寄存器
LOAD 122
5.2.3 当前值寄存器VAL 122
5.3 利用库函数设置GPIO的方法 122
5.3.1 系统节拍定时器结构体 122
5.3.2 系统节拍定时器库函数 123
5.3.3 范例8:利用系统节拍
定时器精确延时 123
5.4 项目实战:人机界面之液晶
显示 124
5.4.1 液晶显示器简介 125
5.4.2 液晶模块引脚分布 125
5.4.3 液晶模块的控制指令 126
5.4.4 液晶显示器的工作时序 128
5.4.5 液晶显示器的字符集 129
5.4.6 范例9:利用液晶显示器
输出信息 130
5.5 习题与巩固 136
第6章 STM32单片机的中断系统 138
6.1 中断相关的概念 139
6.1.1 什么是中断 139
6.1.2 中断处理过程 140
6.1.3 什么是中断源 140
6.1.4 什么是中断信号 141
6.1.5 中断屏蔽的概念 141
6.1.6 中断优先级及中断嵌套 142
6.1.7 Cortex-M3内核的嵌套
向量中断控制器 144
6.1.8 STM32的中断控制
固件库 147
6.2 STM32的中断系统 148
6.2.1 什么是异常 148
6.2.2 STM32的中断通道 150
6.2.3 固件库中中断向量区的
定义 154
6.2.4 利用库函数控制NVIC
方法 156
6.3 STM32单片机的EXTI 157
6.3.1 什么是外部中断/事件
控制器EXTI 157
6.3.2 EXTI功能结构 158
6.3.3 中断/事件线的种类 160
6.3.4 STM32固件库中EXTI的
初始化结构体 161
6.3.5 STM32固件库中EXTI的
相关函数 163
6.4 项目实战:人机交互之按键 164
6.4.1 按键分类 165
6.4.2 按键的接法 165
6.4.3 矩阵键盘扫描原理 167
6.4.4 按键的消抖处理 167
6.4.5 按键程序处理方法 168
6.4.6 范例10:按键控制
彩灯 168
6.5 习题与巩固 171
第7章 STM32单片机的定时器 175
7.1 定时器的工作原理 176
7.1.1 定时器简介 176
7.1.2 通用定时器的时钟源 176
7.1.3 通用定时器的定时
时钟 177
7.1.4 定时器功能 178
7.1.5 定时器定时时间 179
7.1.6 定时器的计数模式 179
7.2 通用定时器的相关寄存器功能
详解 179
7.2.1 控制寄存器1
(TIMx_CR1) 179
7.2.2 中断使能寄存器(TIMx_DIER) 181
7.2.3 预分频寄存器
(TIMx_PSC) 182
7.2.4 计数器(TIMx_CNT) 182
7.2.5 自动重装载寄存器
(TIMx_ARR) 183
7.2.6 状态寄存器
(TIMx_SR) 183
7.3 固件库中定时器的相关内容 185
7.3.1 固件库中定时器的
结构体 185
7.3.2 固件库中定时器的
相关库函数 186
7.3.3 利用固件库设置通用定时器方法 187
7.3.4 范例11:利用通用定时器
进行精确定时 189
7.4 PWM原理 191
7.4.1 什么是PWM 191
7.4.2 STM32单片机如何产生
PWM信号 192
7.4.3 STM32单片机PWM信号
输出控制 193
7.4.4 PWM信号的输出引脚
控制 193
7.5 PWM相关寄存器的功能
详解 196
7.5.1 捕获/比较模式寄存器
(TIMx_CCMR1/2) 196
7.5.2 捕获/比较使能寄存器
(TIMx_CCER) 198
7.5.3 捕获/比较寄存器
(TIMx_CCR1~TIMx_CCR4) 199
7.6 固件库中PWM的相关内容 199
7.6.1 PWM功能的相关
结构体 199
7.6.2 PWM功能的相关库
函数 201
7.6.3 使用固件库设置PWM的
方法 202
7.6.4 范例12:三色彩灯
控制 203
7.7 习题与巩固 205
第8章 STM32单片机的串行通信 207
8.1 串行通信的基本概念 208
8.1.1 数据通信方式 208
8.1.2 异步传输的字符
数据帧 211
8.1.3 异步通信 213
8.1.4 波特率 213
8.2 RS-232C总线标准 214
8.3 STM32系统的RS-232C传输
接口 217
8.3.1 RS-232C的电平转换 218
8.3.2 典型的RS-232C接口
电路 219
8.4 不同单片机之间的串行总线
连接 220
8.4.1 微处理器间直接通信 220
8.4.2 利用RS-232通信 220
8.5 STM32的串行通信接口 220
8.5.1 STM32的UART特性 220
8.5.2 STM32的UART引脚 221
8.5.3 STM32的UART结构 223
8.6 STM32串行端口的使用方法 225
8.6.1 STM32的UART时钟
控制 225
8.6.2 STM32的UART引脚
配置 225
8.6.3 STM32的串口波特率 226
8.6.4 STM32的UART寄存器
功能详解 227
8.6.5 STM32的UART的
控制 233
8.6.6 STM32的UART的数据
读写 237
8.7 STM32的UART中断使用 239
8.7.1 STM32的UART的收发
中断控制 239
8.7.2 STM32的UART中断
使用方法 240
8.8 添加printf功能 243
8.9 主从机通信 244
8.9.1 范例13:查询法 244
8.9.2 范例14:中断法 247
8.10 习题与巩固 249
第9章 STM32单片机的模数转换器 251
9.1 输入信号分类形式 252
9.1.1 模拟信号和数字信号 252
9.1.2 电压信号和电流信号 252
9.1.3 单次信号和连续信号 253
9.2 模数转换的原理 253
9.3 模数转换器的工作过程 253
9.4 模数转换器的相关概念 254
9.4.1 基准源 254
9.4.2 模数转换器的分类 254
9.4.3 模数转换器的主要技术
指标 255
9.5 STM32的模数转换器 256
9.5.1 STM32的模数转换器
特性 256
9.5.2 STM32的模数转换器
功能剖析 257
9.6 STM32的ADC相关寄存器功能
详解 262
9.6.1 ADC控制寄存器1
(ADC_CR1) 262
9.6.2 ADC控制寄存器2
(ADC_CR2) 265
9.6.3 ADC采样时间寄存器1
(ADC_SMPR1) 267
9.6.4 ADC采样时间寄存器2
(ADC_SMPR2) 268
9.6.5 ADC注入数据寄存器x
(ADC_JDRx) 268
9.6.6 ADC规则数据寄存器(ADC_DR) 269
9.6.7 ADC状态寄存器
(ADC_SR) 270
9.7 STM32的ADC转换模式 271
9.7.1 单次转换模式 271
9.7.2 连续转换模式 271
9.8 固件库中的ADC结构体及
库函数 272
9.8.1 ADC初始化结构体 272
9.8.2 ADC相应库函数 274
9.9 ADC应用设计深入讨论 281
9.9.1 工作电压的稳定性 282
9.9.2 参考电压的确定 282
9.9.3 采样时钟的选择 282
9.9.4 模拟噪声的抑制 282
9.9.5 校准 283
9.9.6 ADC开关控制 283
9.10 数字电位器 284
9.10.1 范例15:电位器
原理图 284
9.10.2 范例16:读取模数转换器
通道电压—查询法 284
9.10.3 范例17:读取模数转换器
通道电压—中断法 287
9.11 习题与巩固 291
第 10章 综合项目之温度控制系统 293
10.1 单片机系统的程序结构 294
10.1.1 任务的划分 294
10.1.2 程序实时性 296
10.1.3 前后台程序结构的优点与
缺点 297
10.1.4 改进前后台程序的
方法 298
10.1.5 范例18:缓冲区(FIFO)
应用实例 302
10.2 利用状态机改进单片机系统 317
10.2.1 初步认识状态机 317
10.2.2 状态机描述方法 322
10.2.3 通过状态转移图生成
代码 325
10.2.4 范例19:状态机项目 328
10.3 温度传感器 349
10.4 习题与巩固 352
1.1 单片机的由来与发展历史 2
1.1.1 嵌入式系统 2
1.1.2 嵌入式计算机系统 4
1.1.3 单片机的发展历史 5
1.1.4 单片机的发展趋势 6
1.2 单片机的应用 9
1.2.1 单片机的应用结构 9
1.2.2 单片机的应用领域 10
1.3 其他单片机 11
1.4 ARM简介 12
1.4.1 ARM公司简介 12
1.4.2 ARM的体系结构 12
1.4.3 ARM的发展 13
1.5 Cortex-M3内核与STM32简介 14
1.5.1 什么是Cortex-M3
内核 15
1.5.2 什么是STM32 18
1.5.3 STM32单片机的时钟 21
1.6 STM32单片机的C语言编程
知识点 23
1.6.1 STM32编程的特点 23
1.6.2 STM32编程中的数据
类型 24
1.6.3 STM32编程常用的C语言
知识点 26
1.7 什么是CMSIS固件库 32
1.7.1 CMSIS固件库简介 32
1.7.2 CMSIS固件库设计及
规范 33
1.8 习题与巩固 34
第 2章 STM32单片机的开发工具 36
2.1 STM32的开发工具一览 37
2.1.1 硬件开发工具 37
2.1.2 软件开发平台 38
2.2 硬件开发工具JLink 38
2.2.1 JLink的驱动安装及调试
接口 38
2.2.2 硬件调试接口JTAG/SWD
的定义 39
2.3 软件开发环境MDK的使用
方法 42
2.3.1 MDK的安装 43
2.3.2 MDK工程模块的创建 43
2.4 习题与巩固 65
第3章 STM32单片机的基本系统 67
3.1 单片机的基本系统组成元素 68
3.2 项目实战:电源电路的设计 69
3.2.1 概述 69
3.2.2 范例1:电源电路的
设计 70
3.2.3 电源电路设计注意事项 73
3.3 项目实战:复位电路的设计 73
3.3.1 概述 73
3.3.2 范例2:复位电路的
设计 74
3.3.3 复位电路设计注意事项 75
3.4 项目实战:时钟电路的设计 76
3.4.1 概述 76
3.4.2 范例3:时钟电路的
设计 76
3.4.3 时钟电路设计注意事项 76
3.5 项目实战:调试电路的设计 77
3.5.1 概述 77
3.5.2 范例4:调试电路的
设计 77
3.5.3 调试电路设计注意
事项 78
3.6 项目实战:启动电路的设计 78
3.6.1 概述 78
3.6.2 启动电路分析及工作
原理 79
3.7 习题与巩固 80
第4章 通用输入输出端口应用 81
4.1 GPIO工作原理 82
4.1.1 STM32F103C8T6单片机的
引脚 82
4.1.2 引脚内部构造 85
4.1.3 GPIO的8种工作模式 86
4.2 GPIO寄存器功能详解 90
4.2.1 端口配置低寄存器(GPIOX_CRL) 90
4.2.2 端口配置高寄存器(GPIOX_CRH) 91
4.2.3 端口输入数据寄存器(GPIOX_IDR) 92
4.2.4 端口输出数据寄存器(GPIOX_ODR) 92
4.2.5 端口位设置/清除寄存器
(GPIOX_BSRR) 93
4.2.6 端口位清除寄存器
(GPIOX_BRR) 94
4.3 利用库函数使用GPIO的方法 94
4.3.1 初始化端口 95
4.3.2 初始化时钟 97
4.3.3 GPIO引脚控制 103
4.4 项目实战:开关量驱动外设 104
4.4.1 GPIO硬件接口电路设计
要点 104
4.4.2 范例5:GPIO驱动发光
二极管 105
4.4.3 范例6:GPIO驱动
蜂鸣器 109
4.4.4 范例7:GPIO驱动
数码管 112
4.5 习题与巩固 117
第5章 系统节拍定时器 119
5.1 系统节拍定时器概述 120
5.2 系统节拍定时器的相关寄存器
功能详解 121
5.2.1 控制和状态寄存器
CTRL 121
5.2.2 重装载值寄存器
LOAD 122
5.2.3 当前值寄存器VAL 122
5.3 利用库函数设置GPIO的方法 122
5.3.1 系统节拍定时器结构体 122
5.3.2 系统节拍定时器库函数 123
5.3.3 范例8:利用系统节拍
定时器精确延时 123
5.4 项目实战:人机界面之液晶
显示 124
5.4.1 液晶显示器简介 125
5.4.2 液晶模块引脚分布 125
5.4.3 液晶模块的控制指令 126
5.4.4 液晶显示器的工作时序 128
5.4.5 液晶显示器的字符集 129
5.4.6 范例9:利用液晶显示器
输出信息 130
5.5 习题与巩固 136
第6章 STM32单片机的中断系统 138
6.1 中断相关的概念 139
6.1.1 什么是中断 139
6.1.2 中断处理过程 140
6.1.3 什么是中断源 140
6.1.4 什么是中断信号 141
6.1.5 中断屏蔽的概念 141
6.1.6 中断优先级及中断嵌套 142
6.1.7 Cortex-M3内核的嵌套
向量中断控制器 144
6.1.8 STM32的中断控制
固件库 147
6.2 STM32的中断系统 148
6.2.1 什么是异常 148
6.2.2 STM32的中断通道 150
6.2.3 固件库中中断向量区的
定义 154
6.2.4 利用库函数控制NVIC
方法 156
6.3 STM32单片机的EXTI 157
6.3.1 什么是外部中断/事件
控制器EXTI 157
6.3.2 EXTI功能结构 158
6.3.3 中断/事件线的种类 160
6.3.4 STM32固件库中EXTI的
初始化结构体 161
6.3.5 STM32固件库中EXTI的
相关函数 163
6.4 项目实战:人机交互之按键 164
6.4.1 按键分类 165
6.4.2 按键的接法 165
6.4.3 矩阵键盘扫描原理 167
6.4.4 按键的消抖处理 167
6.4.5 按键程序处理方法 168
6.4.6 范例10:按键控制
彩灯 168
6.5 习题与巩固 171
第7章 STM32单片机的定时器 175
7.1 定时器的工作原理 176
7.1.1 定时器简介 176
7.1.2 通用定时器的时钟源 176
7.1.3 通用定时器的定时
时钟 177
7.1.4 定时器功能 178
7.1.5 定时器定时时间 179
7.1.6 定时器的计数模式 179
7.2 通用定时器的相关寄存器功能
详解 179
7.2.1 控制寄存器1
(TIMx_CR1) 179
7.2.2 中断使能寄存器(TIMx_DIER) 181
7.2.3 预分频寄存器
(TIMx_PSC) 182
7.2.4 计数器(TIMx_CNT) 182
7.2.5 自动重装载寄存器
(TIMx_ARR) 183
7.2.6 状态寄存器
(TIMx_SR) 183
7.3 固件库中定时器的相关内容 185
7.3.1 固件库中定时器的
结构体 185
7.3.2 固件库中定时器的
相关库函数 186
7.3.3 利用固件库设置通用定时器方法 187
7.3.4 范例11:利用通用定时器
进行精确定时 189
7.4 PWM原理 191
7.4.1 什么是PWM 191
7.4.2 STM32单片机如何产生
PWM信号 192
7.4.3 STM32单片机PWM信号
输出控制 193
7.4.4 PWM信号的输出引脚
控制 193
7.5 PWM相关寄存器的功能
详解 196
7.5.1 捕获/比较模式寄存器
(TIMx_CCMR1/2) 196
7.5.2 捕获/比较使能寄存器
(TIMx_CCER) 198
7.5.3 捕获/比较寄存器
(TIMx_CCR1~TIMx_CCR4) 199
7.6 固件库中PWM的相关内容 199
7.6.1 PWM功能的相关
结构体 199
7.6.2 PWM功能的相关库
函数 201
7.6.3 使用固件库设置PWM的
方法 202
7.6.4 范例12:三色彩灯
控制 203
7.7 习题与巩固 205
第8章 STM32单片机的串行通信 207
8.1 串行通信的基本概念 208
8.1.1 数据通信方式 208
8.1.2 异步传输的字符
数据帧 211
8.1.3 异步通信 213
8.1.4 波特率 213
8.2 RS-232C总线标准 214
8.3 STM32系统的RS-232C传输
接口 217
8.3.1 RS-232C的电平转换 218
8.3.2 典型的RS-232C接口
电路 219
8.4 不同单片机之间的串行总线
连接 220
8.4.1 微处理器间直接通信 220
8.4.2 利用RS-232通信 220
8.5 STM32的串行通信接口 220
8.5.1 STM32的UART特性 220
8.5.2 STM32的UART引脚 221
8.5.3 STM32的UART结构 223
8.6 STM32串行端口的使用方法 225
8.6.1 STM32的UART时钟
控制 225
8.6.2 STM32的UART引脚
配置 225
8.6.3 STM32的串口波特率 226
8.6.4 STM32的UART寄存器
功能详解 227
8.6.5 STM32的UART的
控制 233
8.6.6 STM32的UART的数据
读写 237
8.7 STM32的UART中断使用 239
8.7.1 STM32的UART的收发
中断控制 239
8.7.2 STM32的UART中断
使用方法 240
8.8 添加printf功能 243
8.9 主从机通信 244
8.9.1 范例13:查询法 244
8.9.2 范例14:中断法 247
8.10 习题与巩固 249
第9章 STM32单片机的模数转换器 251
9.1 输入信号分类形式 252
9.1.1 模拟信号和数字信号 252
9.1.2 电压信号和电流信号 252
9.1.3 单次信号和连续信号 253
9.2 模数转换的原理 253
9.3 模数转换器的工作过程 253
9.4 模数转换器的相关概念 254
9.4.1 基准源 254
9.4.2 模数转换器的分类 254
9.4.3 模数转换器的主要技术
指标 255
9.5 STM32的模数转换器 256
9.5.1 STM32的模数转换器
特性 256
9.5.2 STM32的模数转换器
功能剖析 257
9.6 STM32的ADC相关寄存器功能
详解 262
9.6.1 ADC控制寄存器1
(ADC_CR1) 262
9.6.2 ADC控制寄存器2
(ADC_CR2) 265
9.6.3 ADC采样时间寄存器1
(ADC_SMPR1) 267
9.6.4 ADC采样时间寄存器2
(ADC_SMPR2) 268
9.6.5 ADC注入数据寄存器x
(ADC_JDRx) 268
9.6.6 ADC规则数据寄存器(ADC_DR) 269
9.6.7 ADC状态寄存器
(ADC_SR) 270
9.7 STM32的ADC转换模式 271
9.7.1 单次转换模式 271
9.7.2 连续转换模式 271
9.8 固件库中的ADC结构体及
库函数 272
9.8.1 ADC初始化结构体 272
9.8.2 ADC相应库函数 274
9.9 ADC应用设计深入讨论 281
9.9.1 工作电压的稳定性 282
9.9.2 参考电压的确定 282
9.9.3 采样时钟的选择 282
9.9.4 模拟噪声的抑制 282
9.9.5 校准 283
9.9.6 ADC开关控制 283
9.10 数字电位器 284
9.10.1 范例15:电位器
原理图 284
9.10.2 范例16:读取模数转换器
通道电压—查询法 284
9.10.3 范例17:读取模数转换器
通道电压—中断法 287
9.11 习题与巩固 291
第 10章 综合项目之温度控制系统 293
10.1 单片机系统的程序结构 294
10.1.1 任务的划分 294
10.1.2 程序实时性 296
10.1.3 前后台程序结构的优点与
缺点 297
10.1.4 改进前后台程序的
方法 298
10.1.5 范例18:缓冲区(FIFO)
应用实例 302
10.2 利用状态机改进单片机系统 317
10.2.1 初步认识状态机 317
10.2.2 状态机描述方法 322
10.2.3 通过状态转移图生成
代码 325
10.2.4 范例19:状态机项目 328
10.3 温度传感器 349
10.4 习题与巩固 352
猜您喜欢