- ISBN:9787115572790
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:16开
- 页数:326
- 出版时间:2021-12-01
- 条形码:9787115572790 ; 978-7-115-57279-0
本书特色
(1)本书针对读者学习嵌入式系统入门困难、相关内容较为抽象、学习以后动手能力差等问题,通过通俗易懂的文字描述和丰富的案例介绍,让读者掌握嵌入式系统的基本概念、工作原理和开发方法,同时尽量避免烦琐的软 硬件配置细节描述。 (2)本书使用的硬件环境基于 STM32F4 系列微控制器,具体型号是 STM32F407xx,其中阐述的微控制器工作原理与编程方法也适用于 STM32 系列中的其他型号的微控制器。全书案例使用C语言和 HAL 库编程实现。为了照顾部分对嵌入式系统底层程序开发感兴趣的读者,本书在讲解Cortex-M3 M4 架构的部分保留了对汇编语言的介绍。 本书特色: (1)结构合理,语言精炼,案例丰富。 (2)基于Arm体系结构的STM32F4系列微控制器。 (3)详细介绍嵌入式系统的概念、原理、应用及开发工具链。 (4)配套丰富教辅资源,支持随时随地自学,助力读者稳步提升工程实践能力。
内容简介
本书首先介绍了嵌入式系统的基本概念和背景知识,以及常见的嵌入式系统硬件和嵌入式系统开发工具;其次讲解了基于Cortex-M3 M4架构微控制器的内部结构和指令集,帮助读者建立对嵌入式处理器的宏观认识;然后介绍了STM32微控制器的开发工具链,包括STM32CubeMX、Keil MDK和设备驱动库等;很后以STM32F4系列微控制器为例,阐述了其主要功能模块的工作原理和编程方法,包括这些模块的内部结构、外围硬件电路设计方法、寄存器组织和应用案例等内容。 本书可作为高等院校计算机、电子信息、自动化、电力电气等专业的“嵌入式系统原理”“嵌入式系统编程”“32位单片机原理与应用”等课程的教材和教学参考书,也可作为工程实训、电子制作与竞赛的实践教材,还可作为从事自动控制、物联网、机电一体化等应用领域开发工作的工程技术人员的参考书。
目录
----------
第 1章 嵌入式系统概述
第 2章 嵌入式系统基础知识
第3章 Arm处理器介绍
第4章 Cortex-M3 M4架构
第5章 STM32系列微控制器
第6章 STM32设备驱动库和STM32CubeMX
第7章 Keil MDK集成开发环境
第8章 处理器时钟
第9章 通用输入输出端口
第 10章 异常与中断处理
第 11章 定时器
第 12章 串行通信接口
第 13章 DMA
第 14章 数模转换器
第 15章 模数转换器
第 16章 浮点运算与数字信号处理
第 17章 综合应用案例
具体目录
----------
第 1章 嵌入式系统概述 1
1.1 嵌入式系统的概念 1
1.2 嵌入式系统的特点 2
1.3 嵌入式系统的组成 4
1.4 嵌入式系统的应用领域 7
1.5 思考与练习 8
第 2章 嵌入式系统基础知识 9
2.1 嵌入式硬件系统 9
2.1.1 嵌入式处理器 9
2.1.2 存储器 17
2.1.3 外围接口 20
2.2 嵌入式软件系统 21
2.2.1 嵌入式操作系统 22
2.2.2 嵌入式图形系统 23
2.3 嵌入式系统的开发流程与开发模式 25
2.3.1 嵌入式系统的开发流程 25
2.3.2 嵌入式系统的开发模式 26
2.4 思考与练习 30
第3章 Arm处理器介绍 31
3.1 概述 31
3.2 Arm体系结构 32
3.2.1 Arm体系结构的版本 33
3.2.2 Arm体系结构的扩展 36
3.3 常见的Arm处理器 37
3.4 思考与练习 40
第4章 Cortex-M3 M4架构 41
4.1 概述 41
4.2 Cortex-M3 M4的内部结构 42
4.3 Cortex-M3 M4的系统地址映射 46
4.4 Cortex-M3 M4的编程模型 47
4.4.1 工作模式和运行级别 48
4.4.2 存储格式 48
4.4.3 寄存器组 49
4.5 Cortex-M3 M4的异常 53
4.6 指令集和汇编语言 54
4.6.1 Thumb指令集概述 54
4.6.2 汇编语言基础 55
4.6.3 寻址方式 57
4.6.4 统一汇编语言 60
4.7 思考与练习 61
第5章 STM32系列微控制器 62
5.1 概述 62
5.2 STM32F407xx微控制器介绍 63
5.3 STM32F407xx的地址映射 67
5.4 启动方式的配置 71
5.5 STM32系列微控制器的命名规则 72
5.6 STM32系列微控制器的引脚功能 73
5.7 STM32*小系统的组成 75
5.8 思考与练习 78
第6章 STM32设备驱动库和STM32CubeMX 79
6.1 CMSIS介绍 79
6.2 STM32设备驱动库 82
6.2.1 STM32设备驱动库简介 82
6.2.2 预定义数据类型和结构体 86
6.2.3 解析HAL库 88
6.3 STM32CubeMX辅助开发工具 91
6.4 思考与练习 97
第7章 Keil MDK集成开发环境 98
7.1 Keil MDK介绍 98
7.2 Keil MDK安装 99
7.3 Keil MDK使用 102
7.4 Keil MDK程序调试 110
7.5 STM32F407xx引导代码解析 112
7.6 思考与练习 115
第8章 处理器时钟 116
8.1 时钟概述 116
8.2 时钟相关参数 119
8.3 时钟参数配置方法 120
8.3.1 工程设置 121
8.3.2 时钟相关代码解析 122
8.4 思考与练习 126
第9章 通用输入输出端口 127
9.1 STM32F4微控制器的GPIO端口 127
9.2 GPIO配置方法 129
9.3 GPIO编程 130
9.3.1 工程配置 131
9.3.2 GPIO相关数据结构和API函数 132
9.3.3 GPIO代码解析 133
9.4 位带操作 137
9.4.1 位带概述 137
9.4.2 位带编程 138
9.5 思考与练习 140
第 10章 异常与中断处理 141
10.1 中断控制器的工作原理 141
10.1.1 中断优先级 142
10.1.2 外部中断和事件 147
10.2 中断编程 149
10.2.1 工程配置 149
10.2.2 中断相关数据结构和API函数 151
10.2.3 中断代码解析 154
10.3 思考与练习 157
第 11章 定时器 158
11.1 系统定时器 158
11.2 通用定时器 162
11.2.1 定时器的时钟源 165
11.2.2 定时器的计数单元 167
11.3 定时器的基本计数功能 168
11.3.1 工程配置 169
11.3.2 计数相关数据结构和API函数 171
11.3.3 定时器计数代码解析 173
11.4 定时器的输出比较模式 175
11.4.1 工程配置 175
11.4.2 输出比较模式相关数据结构和API函数 178
11.4.3 输出比较模式代码解析 179
11.5 定时器的PWM输出模式 182
11.5.1 工程配置 183
11.5.2 PWM输出模式相关数据结构和API函数 184
11.5.3 PWM输出模式代码解析 185
11.6 定时器的外部时钟模式 186
11.6.1 工程配置 187
11.6.2 外部时钟模式代码解析 188
11.7 定时器的级联 189
11.7.1 工程配置 189
11.7.2 定时器级联代码解析 192
11.8 定时器的输入捕获模式 193
11.8.1 工程配置 193
11.8.2 输入捕获模式相关数据结构和API函数 194
11.8.3 输入捕获模式代码解析 195
11.9 思考与练习 197
第 12章 串行通信接口 199
12.1 串行通信与异步串行通信 199
12.1.1 串行通信概述 199
12.1.2 异步串行通信协议 200
12.1.3 异步串行通信的接口标准 201
12.2 STM32F407xx的异步串行通信 204
12.3 异步串行通信参数设置 205
12.4 阻塞方式串行通信 209
12.4.1 工程配置 210
12.4.2 异步串行通信相关数据结构和API函数 211
12.4.3 异步串行通信阻塞方式通信代码解析 213
12.5 非阻塞方式串行通信 215
12.5.1 工程配置 216
12.5.2 异步串行通信中断处理相关函数 216
12.5.3 异步串行通信非阻塞方式通信代码解析 217
12.6 思考与练习 219
第 13章 DMA 220
13.1 DMA介绍 220
13.1.1 STM32F4微控制器的DMA工作原理 220
13.1.2 DMA参数配置 222
13.2 外设与存储器之间的DMA传输 224
13.2.1 工程配置 224
13.2.2 DMA相关数据结构和API函数 226
13.2.3 外设到存储器的DMA传输代码解析 228
13.3 存储器到存储器的DMA传输 230
13.3.1 工程配置 231
13.3.2 存储器到存储器的DMA传输代码解析 231
13.4 思考与练习 234
第 14章 数模转换器 235
14.1 DAC介绍 235
14.2 STM32F407xx的DAC 236
14.3 软件触发方式 239
14.3.1 工程配置 239
14.3.2 DAC相关数据结构和API函数 240
14.3.3 软件触发方式代码解析 241
14.4 定时器触发方式 242
14.4.1 工程配置 243
14.4.2 定时器触发方式代码解析 243
14.5 DMA方式的DAC编程 244
14.5.1 工程配置 245
14.5.2 DMA方式的DAC转换代码解析 245
14.6 思考与练习 247
第 15章 模数转换器 248
15.1 ADC介绍 248
15.2 STM32F407xx的ADC 249
15.3 多重ADC模式 255
15.4 软件触发数据采样 259
15.4.1 工程配置 259
15.4.2 ADC相关数据结构和API函数 262
15.4.3 软件触发数据采样代码解析 264
15.5 定时器触发数据采样 266
15.5.1 软件配置 266
15.5.2 定时器触发数据采样代码解析 267
15.6 规则组数据采样 268
15.6.1 工程配置 268
15.6.2 规则组数据采样代码解析 270
15.7 多重ADC模式数据采样 272
15.7.1 工程配置 272
15.7.2 ADC扩展的API函数 273
15.7.3 多重ADC模式数据采样代码解析 274
15.8 思考与练习 275
第 16章 浮点运算与数字信号处理 276
16.1 Cortex-M4架构的浮点运算 276
16.1.1 定点数和浮点数 277
16.1.2 Cortex-M4的浮点运算单元 278
16.1.3 浮点运算编程 279
16.2 DSP指令集 281
16.2.1 DSP相关数据类型 282
16.2.2 DSP指令集 283
16.3 CMSIS-DSP库介绍 284
16.4 CMSIS-DSP库编程举例 286
16.4.1 向量运算 286
16.4.2 快速傅里叶变换 292
16.4.3 FIR滤波器 295
16.4.4 IIR滤波器 302
16.5 思考与练习 306
第 17章 综合应用案例 307
17.1 智能小车的工作原理及编程 307
17.1.1 电机驱动模块 308
17.1.2 循迹检测模块 313
17.1.3 超声波测距模块 315
17.2 多任务环境下的智能小车控制程序 318
17.2.1 Keil RTX5 319
17.2.2 基于Keil RTX5的多任务编程 320
17.3 思考与练习 325
参考文献 326
作者简介
梁晶:2004年毕业于华中科技大学计算机学院嵌入式系统与智能控制专业,获工学硕士学位,武汉纺织大学计算机与人工智能学院专任教师,主要研究方向为嵌入式系统、人工智能、大数据技术。多年来在一线从事嵌入式系统、人工智能和大数据相关的教学和科研工作,主持和参与过多项校级、省级教研项目和科研项目。长期与企业合作从事嵌入式智能终端、车载互联网等产品的研发工作,在嵌入式领域具备较强的理论功底和丰富的工程经验。吴银琴:2003年毕业于华中科技大学生命科学与技术学院生物医学工程专业,获工学硕士学位,中南民族大学电子与信息工程学院专任教师,主要研究方向为嵌入式系统、信号处理等。多年来一直从事嵌入式系统、信号处理相关的教学和科研工作,主持和参与过多项教学改革项目、实验教改项目和科研项目,拥有丰富的教学经验。
-
当代中国政府与政治(新编21世纪公共管理系列教材)
¥33.6¥48.0 -
落洼物语
¥8.7¥28.0 -
中国当代文学名篇选读
¥19.1¥53.0 -
中医基础理论
¥50.7¥59.0 -
北大人文课(平装)
¥13.9¥45.0 -
外国教育史-第2版
¥24.4¥40.0 -
宪法-第二版
¥12.2¥29.0 -
当代中国政府与政治 第二版
¥57.8¥68.0 -
EPLAN电气设计
¥29.9¥39.8 -
闯进数学世界――探秘历史名题
¥21.3¥32.8 -
企业法务教程
¥34.8¥49.0 -
习近平新时代中国特色社会主义思想概论
¥18.2¥26.0 -
金融学
¥29.9¥49.0 -
计算机操作系统教程(第4版)(清华大学计算机系列教材)
¥31.9¥49.0 -
三国史
¥27.5¥50.0 -
飞机总体设计
¥46.8¥78.0 -
古代汉语(第四册)
¥16.1¥35.0 -
编辑审稿实务教程
¥35.1¥45.0 -
管理学:原理与方法(第7版)(博学.大学管理类)/周三多
¥30.9¥49.0 -
(平装)北大必修课:北大口才课
¥12.2¥45.0