万本电子书0元读

万本电子书0元读

顶部广告

嵌入式系统开发与实战电子书

物联网、无人机、机器人、智能汽车等专业的入门进修课用先进的编程思想指导程序设计,用专业的UML工具进行系统建模用丰富的项目案例锤炼逻辑思维,用复杂的应用场景提升设计能力大大缩短成为高级嵌入式工程师的进阶路程

售       价:¥

纸质售价:¥49.00购买纸书

8人正在读 | 0人评论 6.8

作       者:陈翠和 等

出  版  社:电子工业出版社

出版时间:2025-06-01

字       数:12.9万

所属分类: 科技 > 计算机/网络 > 硬件

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

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

内容简介

前言

作者简介

第1章 嵌入式系统概述

1.1 学习目标

1.2 嵌入式系统的概念

1.3 嵌入式系统的组成

1.3.1 嵌入式系统的硬件组成

1.3.2 嵌入式系统的软件组成

1.4 嵌入式系统的应用领域

1.5 嵌入式系统的发展

1.6 嵌入式系统的操作系统

1.6.1 嵌入式系统的操作系统分类

1.6.2 嵌入式系统的操作系统功能

1.7 常用嵌入式系统的操作系统介绍

1.7.1 μC/OS

1.7.2 VxWorks

1.7.3 FreeRTOS

1.7.4 RT-Thread

1.7.5 Embedded Linux

1.7.6 Android

1.7.7 LiteOS

1.8 习题

第2章 嵌入式系统开发过程及分层架构

2.1 学习目标

2.2 嵌入式系统开发过程

2.3 软件系统分层架构

2.3.1 为什么需要分层

2.3.2 软件系统分层的概念

2.4 驱动层与应用层的交互

2.5 裸机工程结构与分层架构设计

2.5.1 STM32CubeMX生成的裸机工程目录结构

2.5.2 裸机工程的启动过程

2.5.3 裸机工程的分层架构设计

2.6 基于LiteOS的嵌入式系统分层架构设计

2.7 分层架构实验

2.7.1 寄存器编程

2.7.2 LiteOS编程

2.8 习题

第3章 嵌入式系统开发基础

3.1 学习目标

3.2 CPU与外设的通信方式

3.2.1 CPU与外设的接口

3.2.2 外设寻址与外设寄存器变量

3.2.3 单个外设寄存器变量的定义

3.2.4 地址连续的多个外设寄存器变量定义

3.3 位运算

3.4 软件建模语言UML

3.4.1 类图

3.4.2 用例图

3.4.3 活动图

3.4.4 序列图

3.4.5 状态图

3.5 LiteOS开发基础

3.5.1 LiteOS的内核架构

3.5.2 LiteOS的目录结构

3.5.3 LiteOS的启动过程

3.5.4 LiteOS任务及其创建

3.6 习题

第4章 Cortex-M3与STM32F103ZET6

4.1 学习目标

4.2 Cortex-M3介绍

4.2.1 Cortex-M3的架构

4.2.2 Cortex-M3寄存器

4.2.3 Cortex-M3的工作模式和特权级别

4.2.4 指令集

4.2.5 指令流水线

4.3 STM32F103ZET6介绍

4.3.1 STM32F103ZET6架构

4.3.2 STM32F103ZET6时钟

4.3.3 STM32F103ZET6存储器映射

4.3.4 STM32F103ZET6引脚定义

4.4 习题

第5章 GPIO编程

5.1 学习目标

5.2 信号类型

5.3 STM32F103ZET6 GPIO特性

5.4 GPIO的端口结构

5.5 GPIO的工作模式

5.6 GPIO的复用功能AFIO

5.7 GPIO与AFIO相关寄存器

5.7.1 工作方式配置寄存器GPIOx_CRL与GPIOx_CRH

5.7.2 输入数据寄存器GPIOx_IDR

5.7.3 输出数据寄存器GPIOx_ODR

5.7.4 位置位/复位寄存器GPIOx_BSRR

5.7.5 位复位寄存器GPIOx_BRR

5.7.6 锁定寄存器GPIOx_LCKR

5.7.7 事件控制寄存器AFIO_EVCR

5.7.8 外部中断控制寄存器AFIO_EXTICRx

5.7.9 引脚映射寄存器AFIO_MAPR

5.7.10 GPIO寄存器映射

5.7.11 AFIO寄存器映射

5.8 GPIO编程方法

5.8.1 寄存器编程方法

5.8.2 库函数编程方法

5.9 GPIO编程举例

5.9.1 寄存器编程举例

5.9.2 库函数编程举例

5.10 项目实战——智慧教室:人走关扇熄灯

5.10.1 项目需求

5.10.2 实验环境

5.10.3 人体红外检测传感器的工作原理

5.10.4 系统分析

5.10.5 系统设计

5.10.6 LiteOS+库函数编程

5.10.7 系统实现

5.11 习题

第6章 中断控制

6.1 学习目标

6.2 中断的工作原理

6.2.1 NVIC中断控制器

6.2.2 NVIC中断相关寄存器

6.2.3 EXTI外部中断控制器

6.3 STM32F103ZET6异常与中断向量表

6.4 裸机工程默认的中断设置

6.5 中断编程方法

6.5.1 寄存器编程方法

6.5.2 库函数编程方法

6.6 中断编程举例

6.6.1 寄存器编程举例

6.6.2 库函数编程举例

6.7 项目实战——按键报警

6.7.1 项目需求

6.7.2 实验环境

6.7.3 系统分析

6.7.4 系统设计

6.7.5 系统实现

6.8 习题

第7章 DMA编程

7.1 学习目标

7.2 DMA的工作原理

7.3 DMA的主要特性

7.4 DMA处理

7.4.1 通道

7.4.2 数据宽度与数据对齐方式

7.4.3 中断

7.4.4 错误管理

7.4.5 DMA的工作模式

7.4.6 DMA请求的处理流程

7.5 DMA寄存器

7.6 DMA寄存器映射

7.7 DMA的编程方法

7.7.1 库函数接口

7.7.2 库函数编程方法

7.8 DMA编程举例

7.9 习题

第8章 UART通信

8.1 学习目标

8.2 STM32F103ZET6 USART概述

8.3 STM32F103ZET6 UART的特性

8.4 STM32F103ZET6 UART的工作原理

8.5 串行通信帧格式

8.6 波特率的生成

8.7 多处理器模式

8.8 USART寄存器

8.9 USART寄存器映射

8.10 UART编程方法

8.10.1 寄存器编程方法

8.10.2 库函数编程方法

8.11 UART编程举例

8.11.1 寄存器编程举例

8.11.2 库函数编程举例

8.11.3 printf()输出重定向

8.12 项目实战——智慧教室系统人机交互调试接口

8.12.1 项目需求

8.12.2 实验环境

8.12.3 系统分析

8.12.4 系统设计

8.12.5 系统实现

8.13 习题

第9章 定时器

9.1 学习目标

9.2 定时器的基本工作原理

9.3 计数模式

9.3.1 上计数

9.3.2 下计数

9.3.3 上/下计数

9.4 定时事件

9.4.1 溢出事件

9.4.2 更新事件

9.4.3 比较事件

9.4.4 捕获事件

9.5 PWM

9.6 死区

9.7 STM32F103ZET6的定时器类型

9.8 基本定时器(TIM6和TIM7)

9.8.1 主要特性

9.8.2 计数时序与更新事件

9.8.3 自动重装载值的计算

9.8.4 基本定时器寄存器

9.8.5 基本定时器寄存器映射

9.9 高级定时器(TIM1和TIM8)

9.9.1 主要特性

9.9.2 重复计数器

9.9.3 计数时钟源

9.9.4 输入捕获

9.9.5 输出比较

9.9.6 生成PWM信号

9.9.7 高级定时器寄存器

9.9.8 高级定时器寄存器映射

9.10 通用定时器

9.11 系统节拍定时器SysTick

9.11.1 系统节拍定时器的工作原理

9.11.2 系统节拍定时器寄存器

9.11.3 系统节拍定时器寄存器映射

9.11.4 裸机工程对系统节拍定时器的使用

9.12 看门狗定时器

9.12.1 独立看门狗IWDG

9.12.2 窗口看门狗WWDG

9.13 定时器编程方法

9.13.1 库函数接口

9.13.2 库函数编程方法

9.14 定时器编程举例

9.14.1 基本定时器编程举例

9.14.2 高级定时器编程举例

9.15 项目实战——人体智慧检测

9.15.1 项目需求

9.15.2 实验环境

9.15.3 步进电机的工作原理与工作方式

9.15.4 系统分析

9.15.5 系统设计

9.15.6 系统实现

9.16 习题

第10章 FSMC编程

10.1 学习目标

10.2 FSMC控制概述

10.3 FSMC功能框图

10.4 各类存储器地址映射

10.5 NOR Flash和PSRAM控制器

10.5.1 支持的存储器类型

10.5.2 读/写时序

10.6 FSMC NOR/PSRAM控制器寄存器

10.7 寄存器映射

10.8 FSMC编程方法

10.8.1 库函数接口

10.8.2 库函数编程方法

10.9 FSMC编程举例

10.9.1 IS62WV51216BLL芯片介绍

10.9.2 利用库函数读/写SRAM

10.10 习题

第11章 I2C编程

11.1 学习目标

11.2 I2C协议简介

11.2.1 I2C网络

11.2.2 I2C总线信号与时序

11.2.3 I2C设备地址格式

11.2.4 I2C数据传送过程

11.3 STM32F103ZET6 I2C的工作原理

11.3.1 主要特性

11.3.2 功能结构

11.3.3 工作方式

11.3.4 通信故障

11.3.5 SDA/SCL控制

11.3.6 中断

11.4 I2C寄存器

11.5 I2C寄存器映射

11.6 I2C编程方法

11.6.1 库函数接口

11.6.2 库函数编程方法

11.7 I2C编程举例

11.7.1 AT24C02 EEPROM介绍

11.7.2 基于程序查询方式

11.7.3 基于中断方式

11.8 项目实战——智慧教室:温度控制

11.8.1 项目需求

11.8.2 实验环境

11.8.3 AHT10温湿度传感器简介

11.8.4 系统分析

11.8.5 系统设计

11.8.6 系统实现

11.9 习题

第12章 串行外设接口SPI

12.1 学习目标

12.2 SPI的功能及主要特性

12.3 SPI的工作原理

12.3.1 SPI功能框图

12.3.2 SPI的工作模式

12.3.3 SPI用作主设备

12.3.4 SPI用作从设备

12.3.5 状态标志

12.3.6 DMA传输

12.4 寄存器

12.5 寄存器映射

12.6 SPI编程方法

12.6.1 库函数接口

12.6.2 库函数编程方法

12.7 SPI编程举例

12.8 项目实战——智慧教室:OLED显示教室温湿度

12.8.1 项目需求

12.8.2 实验环境

12.8.3 OLED SSD1306介绍

12.8.4 系统分析

12.8.5 系统设计

12.8.6 系统实现

12.9 习题

第13章 模数转换器ADC

13.1 学习目标

13.2 ADC的主要特性

13.3 ADC的功能结构与基本概念

13.3.1 ADC转换的触发方式

13.3.2 模拟信号输入通道

13.3.3 通道序列/通道分组

13.3.4 规则序列与注入序列

13.3.5 自动注入

13.3.6 序列的定义与转换结果的保存

13.4 ADC的工作方式

13.5 注入序列转换的启动方式

13.6 中断和DMA

13.7 ADC的时钟与采样时间

13.8 ADC的触发

13.9 数据对齐

13.10 校准

13.11 模拟看门狗

13.12 转换结果

13.13 ADC寄存器

13.14 ADC寄存器映射

13.15 ADC编程方法

13.15.1 库函数接口

13.15.2 库函数编程方法

13.16 ADC编程举例

13.16.1 使用STM32CubeMX配置ADC

13.16.2 使用STM32CubeMX生成代码

13.16.3 电位器驱动

13.17 项目实践——智慧教室:光照强度控制

13.17.1 项目需求

13.17.2 实验环境

13.17.3 光照强度传感器——光敏电阻特性

13.17.4 系统分析

13.17.5 系统设计

13.17.6 系统实现

13.18 习题

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部