热门搜索: 中考 高考 考试 开卷17
服务电话 024-23945002/96192
 

嵌入式系统开发与实战

编号:
wx1203647347
销售价:
¥68.73
(市场价: ¥79.00)
赠送积分:
69
数量:
   
商品介绍

随着物联网、无人飞行器、机器人等技术与产业的飞速发展,嵌入式系统的重要性愈发凸显。本书主要介绍ARM Cortex-M3结构的STM32F103ZET6应用开发技术。主要内容包括Cortex-M3与STM32F103ZET6的硬件架构,分层软件架构与设计方法,以及片上外设GPIO、中断控制器、DMA、UART、TIMER、FSMC、I2C、SPI和ADC的编程技术。本书通过引入软件工程UML,以及综合性项目的分析、设计案例,以综合性项目“智慧教室”的开发技术为主线,将CPU与外设之间的程序查询、中断和DMA通信方式,线程(或任务)之间的同步、互斥、消息和共享变量等各种通信技术,面向对象的类图、序列图、状态机的UML软件建模方法,以及嵌入式编程中常用的一些软件设计技巧适当地安排在项目实战或编程举例中,拓展读者思维,丰富读者工程经验;通过分层架构、面向对象的设计思想和良好的编码规范,提升读者复杂工程的软件建模、设计与开发能力。

目录
第1 章 嵌入式系统概述 1
1.1 学习目标 1
1.2 嵌入式系统的概念 1
1.3 嵌入式系统的组成 2
1.3.1 嵌入式系统的硬件组成 2
1.3.2 嵌入式系统的软件组成 3
1.4 嵌入式系统的应用领域 4
1.5 嵌入式系统的发展 4
1.6 嵌入式系统的操作系统 5
1.6.1 嵌入式系统的操作系统分类 5
1.6.2 嵌入式系统的操作系统功能 6
1.7 常用嵌入式系统的操作系统介绍 7
1.7.1 μC/OS 7
1.7.2 VxWorks 7
1.7.3 FreeRTOS 8
1.7.4 RT-Thread 8
1.7.5 Embedded Linux 8
1.7.6 Android 9
1.7.7 LiteOS 9
1.8 习题 9
第2 章 嵌入式系统开发过程及分层架构 10
2.1 学习目标 10
2.2 嵌入式系统开发过程 10
2.3 软件系统分层架构 11
2.3.1 为什么需要分层 11
2.3.2 软件系统分层的概念 13
2.4 驱动层与应用层的交互 14
2.5 裸机工程结构与分层架构设计 14
2.5.1 STM32CubeMX 生成的裸机工程目录结构 14
2.5.2 裸机工程的启动过程 15
2.5.3 裸机工程的分层架构设计 16
2.6 基于LiteOS 的嵌入式系统分层架构设计 17
2.7 分层架构实验 18
2.7.1 寄存器编程 18
2.7.2 LiteOS 编程 21
2.8 习题 23
第3 章 嵌入式系统开发基础 24
3.1 学习目标 24
3.2 CPU 与外设的通信方式 24
3.2.1 CPU 与外设的接口 25
3.2.2 外设寻址与外设寄存器变量 27
3.2.3 单个外设寄存器变量的定义 27
3.2.4 地址连续的多个外设寄存器变量定义 27
3.3 位运算 28
3.4 软件建模语言UML 29
3.4.1 类图 29
3.4.2 用例图 32
3.4.3 活动图 33
3.4.4 序列图 34
3.4.5 状态图 35
3.5 LiteOS 开发基础 36
3.5.1 LiteOS 的内核架构 36
3.5.2 LiteOS 的目录结构 37
3.5.3 LiteOS 的启动过程 38
3.5.4 LiteOS 任务及其创建 39
3.6 习题 41
第4 章 Cortex-M3 与STM32F103ZET6 42
4.1 学习目标 42
4.2 Cortex-M3 介绍 43
4.2.1 Cortex-M3 的架构 43
4.2.2 Cortex-M3 寄存器 43
4.2.3 Cortex-M3 的工作模式和特权级别 44
4.2.4 指令集 45
4.2.5 指令流水线 45
4.3 STM32F103ZET6 介绍 46
4.3.1 STM32F103ZET6 架构 46
4.3.2 STM32F103ZET6 时钟 47
4.3.3 STM32F103ZET6 存储器映射 51
4.3.4 STM32F103ZET6 引脚定义 52
4.4 习题 59
第5 章 GPIO编程 60
5.1 学习目标 60
5.2 信号类型 60
5.3 STM32F103ZET6 GPIO 特性 61
5.4 GPIO 的端口结构 61
5.5 GPIO 的工作模式 63
5.6 GPIO 的复用功能AFIO 63
5.7 GPIO 与AFIO 相关寄存器 63
5.7.1 工作方式配置寄存器GPIOx_CRL 与GPIOx_CRH 64
5.7.2 输入数据寄存器GPIOx_IDR 65
5.7.3 输出数据寄存器GPIOx_ODR 65
5.7.4 位置位/复位寄存器GPIOx_BSRR 66
5.7.5 位复位寄存器GPIOx_BRR 66
5.7.6 锁定寄存器GPIOx_LCKR 67
5.7.7 事件控制寄存器AFIO_EVCR 67
5.7.8 外部中断控制寄存器AFIO_EXTICRx 68
5.7.9 引脚映射寄存器AFIO_MAPR 69
5.7.10 GPIO 寄存器映射 72
5.8 AFIO 寄存器映射 72
5.9 GPIO 编程方法 73
5.9.1 寄存器编程方法 73
5.9.2 库函数编程方法 74
5.10 GPIO 编程举例 77
5.10.1 寄存器编程举例 77
5.10.2 库函数编程举例 79
5.11 项目实战――智慧教室:人走关扇熄灯 82
5.11.1 项目需求 82
5.11.2 实验环境 82
5.11.3 人体红外检测传感器的工作原理 83
5.11.4 系统分析 84
5.11.5 系统设计 85
5.11.6 LiteOS+库函数编程 87
5.11.7 系统实现 88
5.12 习题 96
第6 章 中断控制 97
6.1 学习目标 97
6.2 中断的工作原理 97
6.2.1 NVIC 中断控制器 98
6.2.2 NVIC 中断相关寄存器 103
6.2.3 EXTI 外部中断控制器 110
6.3 STM32F103ZET6 异常与中断向量表 114
6.4 裸机工程默认的中断设置 117
6.5 中断编程方法 118
6.5.1 寄存器编程方法 118
6.5.2 库函数编程方法 121
6.6 中断编程举例 128
6.6.1 寄存器编程举例 128
6.6.2 库函数编程举例 129
6.7 项目实战――按键报警 129
6.7.1 项目需求 129
6.7.2 实验环境 130
6.7.3 系统分析 130
6.7.4 系统设计 131
6.7.5 系统实现 134
6.8 习题 144
第7 章 DMA 编程 146
7.1 学习目标 146
7.2 DMA 的工作原理 146
7.3 DMA 的主要特性 147
7.4 DMA 处理 148
7.4.1 通道 148
7.4.2 数据宽度与数据对齐方式 149
7.4.3 中断 150
7.4.4 错误管理 150
7.4.5 DMA 的工作模式 151
7.4.6 DMA 请求的处理流程 151
7.5 DMA 寄存器 152
7.6 DMA 寄存器映射 152
7.7 DMA 的编程方法 153
7.7.1 库函数接口 153
7.7.2 库函数编程方法 154
7.8 DMA 编程举例 155
7.9 习题 160
第8 章 UART 通信 161
8.1 学习目标 161
8.2 STM32F103ZET6 USART概述 161
8.3 STM32F103ZET6 UART 的特性 162
8.4 STM32F103ZET6 UART 的工作原理 162
8.5 串行通信帧格式 163
8.6 波特率的生成 164
8.7 多处理器模式 165
8.8 USART 寄存器 166
8.9 USART 寄存器映射 171
8.10 UART 编程方法 172
8.10.1 寄存器编程方法 172
8.10.2 库函数编程方法 173
X 嵌入式系统开发与实战
8.11 UART 编程举例 175
8.11.1 寄存器编程举例 175
8.11.2 库函数编程举例 178
8.11.3 printf()输出重定向 184
8.12 项目实战――智慧教室系统人机交互调试接口 184
8.12.1 项目需求 184
8.12.2 实验环境 185
8.12.3 系统分析 185
8.12.4 系统设计 186
8.12.5 系统实现 189
8.13 习题 199
第9 章 定时器 200
9.1 学习目标 200
9.2 定时器的基本工作原理 200
9.3 计数模式 201
9.3.1 上计数 201
9.3.2 下计数 201
9.3.3 上/下计数 202
9.4 定时事件 203
9.4.1 溢出事件 203
9.4.2 更新事件 203
9.4.3 比较事件 203
9.4.4 捕获事件 204
9.5 PWM 204
9.6 死区 204
9.7 STM32F103ZET6 的定时器类型 205
9.8 基本定时器(TIM6 和TIM7) 205
9.8.1 主要特性 206
9.8.2 计数时序与更新事件 206
9.8.3 自动重装载值的计算 207
9.8.4 基本定时器寄存器 207
9.8.5 基本定时器寄存器映射 210
9.9 高级定时器(TIM1 和TIM8) 211
9.9.1 主要特性 211
9.9.2 重复计数器 212
9.9.3 计数时钟源 212
9.9.4 输入捕获 213
9.9.5 输出比较 214
9.9.6 生成PWM 信号 214
9.9.7 高级定时器寄存器 218
9.9.8 高级定时器寄存器映射 218
9.10 通用定时器 219
9.11 系统节拍定时器SysTick 220
9.11.1 系统节拍定时器的工作原理 220
9.11.2 系统节拍定时器寄存器 221
9.11.3 系统节拍定时器寄存器映射 222
9.11.4 裸机工程对系统节拍定时器的使用 222
9.12 看门狗定时器 223
9.12.1 独立看门狗IWDG 223
9.12.2 窗口看门狗WWDG 225
9.13 定时器编程方法 229
9.13.1 库函数接口 229
9.13.2 库函数编程方法 234
9.14 定时器编程举例 234
9.14.1 基本定时器编程举例 234
9.14.2 高级定时器编程举例 238
9.15 项目实战――人体智慧检测 243
9.15.1 项目需求 243
9.15.2 实验环境 244
9.15.3 步进电机的工作原理与工作方式 244
9.15.4 系统分析 245
9.15.5 系统设计 247
9.15.6 系统实现 249
9.16 习题 256
第10 章 FSMC 编程 257
10.1 学习目标 257
10.2 FSMC 控制概述 257
10.3 FSMC 功能框图 258
10.4 各类存储器地址映射 259
10.5 NOR Flash 和PSRAM 控制器 260
10.5.1 支持的存储器类型 260
10.5.2 读/写时序 260
10.6 FSMC NOR/PSRAM 控制器寄存器 261
10.7 寄存器映射 261
10.8 FSMC 编程方法 262
10.8.1 库函数接口 262
10.8.2 库函数编程方法 263
10.9 FSMC 编程举例 264
10.9.1 IS62WV51216BLL芯片介绍 265
10.9.2 利用库函数读/写SRAM 267
10.10 习题 272
第11 章 I2C 编程 273
11.1 学习目标 273
11.2 I2C 协议简介 273
11.2.1 I2C 网络 274
11.2.2 I2C 总线信号与时序 274
11.2.3 I2C 设备地址格式 275
11.2.4 I2C 数据传送过程 276
11.3 STM32F103ZET6 I2C 的工作原理 277
11.3.1 主要特性 277
11.3.2 功能结构 277
11.3.3 工作方式 278
11.3.4 通信故障 283
11.3.5 SDA/SCL 控制 283
11.3.6 中断 284
11.4 I2C 寄存器 284
11.5 I2C 寄存器映射 285
11.6 I2C 编程方法 285
11.6.1 库函数接口 285
11.6.2 库函数编程方法 287
11.7 I2C 编程举例 288
11.7.1 AT24C02 EEPROM介绍 288
11.7.2 基于程序查询方式 289
11.7.3 基于中断方式 292
11.8 项目实战――智慧教室:温度控制 298
11.8.1 项目需求 298
11.8.2 实验环境 298
11.8.3 AHT10 温湿度传感器简介 299
11.8.4 系统分析 300
11.8.5 系统设计 301
11.8.6 系统实现 303
11.9 习题 311
第12 章 串行外设接口SPI 312
12.1 学习目标 312
12.2 SPI 的功能及主要特性 312
12.3 SPI 的工作原理 313
12.3.1 SPI 功能框图 313
12.3.2 SPI 的工作模式 314
12.3.3 SPI 用作主设备 315
12.3.4 SPI 用作从设备 315
12.3.5 状态标志 315
12.3.6 DMA 传输 316
12.4 寄存器 316
12.5 寄存器映射 317
12.6 SPI 编程方法 317
12.6.1 库函数接口 317
12.6.2 库函数编程方法 318
12.7 SPI 编程举例 319
12.8 项目实战――智慧教室:OLED 显示教室温湿度 320
12.8.1 项目需求 320
12.8.2 实验环境 320
12.8.3 OLED SSD1306 介绍 321
12.8.4 系统分析 324
12.8.5 系统设计 324
12.8.6 系统实现 325
12.9 习题 334
第13 章 模数转换器ADC 335
13.1 学习目标 335
13.2 ADC 的主要特性 335
13.3 ADC 的功能结构与基本概念 336
13.3.1 ADC 转换的触发方式 337
13.3.2 模拟信号输入通道 337
13.3.3 通道序列/通道分组 337
13.3.4 规则序列与注入序列 337
13.3.5 自动注入 338
13.3.6 序列的定义与转换结果的保存 338
13.4 ADC 的工作方式 338
13.5 注入序列转换的启动方式 339
13.6 中断和DMA 339
13.7 ADC 的时钟与采样时间 340
13.8 ADC 的触发 340
13.9 数据对齐 342
13.10 校准 342
13.11 模拟看门狗 342
13.12 转换结果 343
13.13 ADC 寄存器 343
13.14 ADC 寄存器映射 343
13.15 ADC 编程方法 344
13.15.1 库函数接口 344
13.15.2 库函数编程方法 346
13.16 ADC 编程举例 346
13.16.1 使用STM32CubeMX配置ADC 347
13.16.2 使用STM32CubeMX生成代码 349
13.16.3 电位器驱动 351
13.17 项目实践――智慧教室:光照强度控制 353
13.17.1 项目需求 353
13.17.2 实验环境 353
13.17.3 光照强度传感器――光敏电阻特性 353
13.17.4 系统分析 355
13.17.5 系统设计 356
13.17.6 系统实现 359
13.18 习题 368

商品参数
基本信息
出版社 电子工业出版社
ISBN 9787121501821
条码 9787121501821
编者 陈翠和等 著
译者
出版年月 2025-06-01 00:00:00.0
开本 其他
装帧 平装
页数 380
字数
版次 1
印次 1
纸张
商品评论

暂无商品评论信息 [发表商品评论]

商品咨询

暂无商品咨询信息 [发表商品咨询]