-
内容大纲
本书深入浅出地讲解嵌入式系统开发的基础知识,从原理、方法、工程实践等多视角介绍ARM MCU嵌入式开发中的各种常用技术,为每个知识点配备了开发案例,使读者既能掌握工程开发方法,又能掌握技术原理,为后续整个技术生涯奠定坚实基础。
本书共12章,第1、2章讲述基本概念、开发环境准备及ARM Cortex-M3架构;第3~5章讲述基础的GPIO、中断机制和定时器机制;第6~9章讲述常用的通信方法,包括串行通信、I2C、SPI、CAN;第10章讲述ADC的原理与应用;第11章进一步讲述如何通过DMA技术进行ADC采样;第12章通过舵机、步进电机讲解GD32F10x进行电机控制的入门知识。
本书由多位拥有十多年嵌人式研发与教学经验的高校教师、企业工程师共同编写完成,所有案例都是基于国产GD32F10x系列芯片实现的,并且为每章都配套了详细的视频讲解,助力读者轻松零基础入门并精通ARM单片机开发。本书可作为高等院校和培训机构相关专业的教学参考书,也可供正在为ARM芯片选择国产替代方案的企业工程师选作技术参考书。 -
作者介绍
-
目录
第1章 概述(112min)
1.1 理解嵌入式系统的概念
1.1.1 什么是嵌入式系统
1.1.2 嵌入式系统的构成原理
1.1.3 嵌入式系统的分类
1.1.4 嵌入式系统的处理器技术简介
1.2 ARM简史
1.2.1 ARM的发展历程
1.2.2 ARM架构的变迁
1.2.3 ARM嵌入式开发的学习路线
1.3 准备工作
1.3.1 教材配套开发板介绍
1.3.2 开发环境准备
1.3.3 创建GD32F10x模板工程——点亮一个LED
1.4 小结
1.5 练习题
1.6 实验:更改模板工程软件,点亮两个LED
第2章 GD32F10x的架构(99min)
2.1 图灵机与计算机架构
2.1.1 图灵机简介
2.1.2 冯·诺依曼结构与哈佛结构
2.1.3 算术逻辑部件与锁存器
2.2 Cortex-M3架构简介
2.2.1 架构总览
2.2.2 Cortex-M3的重点模块
2.2.3 ARM指令集与三级流水线
2.2.4 存储器映射
2.3 GD32F10x对Cortex-M3架构的实现
2.3.1 总体架构
2.3.2 存储器与映射
2.3.3 启动配置
2.3.4 电源控制
2.3.5 复位
2.3.6 时钟控制
2.4 小结
2.5 练习题
第3章 通用输入/输出端口GPIO(184min)
3.1 芯片的常用封装
3.2 GPIO工作原理
3.2.1 内部结构框图
3.2.2 输出工作模式
3.2.3 输入工作模式
3.3 GPIO主要寄存器简介
3.3.1 端口控制寄存器
3.3.2 端口输入状态寄存器(GPIOx_ISTAT,x=A..G)
3.3.3 端口输出控制寄存器(GPIOx_OCTL,x=A..G)
3.3.4 端口位操作与位清除寄存器
3.3.5 端口配置锁定寄存器(GPIOx_LOCK,x=A,B)
3.3.6 AFIO端口配置寄存器0(AFIO_PCF0)
3.4 GPIO常用库函数介绍
3.4.1 初始化函数
3.4.2 输入输出控制函数
3.4.3 状态查询函数
3.5 GPIO案例:按键控制LED亮灭
3.5.1 案例需求
3.5.2 案例方法
3.5.3 案例代码
3.5.4 效果分析
3.6 小结
3.7 练习题
3.8 实验:物理按键软件消抖
3.8.1 实验目标
3.8.2 实验方法分析
3.8.3 实验代码
3.8.4 实验现象
第4章 中断和事件(107min)
4.1 中断的概念
4.2 嵌套向量中断控制器NVIC
4.2.1 NVIC简介
4.2.2 NVIC工作机制
4.2.3 NVIC配置
4.3 EXTI外部中断/事件控制器
4.3.1 EXTI简介
4.3.2 EXTI原理
4.3.3 EXTI通用IO映像
4.3.4 EXTI使用方法
4.4 EXTI外部中断处理的常用库函数简介
4.4.1 初始化或使能相关函数
4.4.2 EXTI外部中断响应处理相关函数
4.5 中断案例:中断式触摸按键控制LED
4.5.1 案例需求
4.5.2 案例方法
4.5.3 案例代码
4.5.4 效果分析
4.6 小结
4.7 练习题
4.8 实验:上升沿和双边沿触发的中断
4.8.1 实验目标
4.8.2 实验方法分析
4.8.3 实验代码
4.8.4 实验现象
第5章 定时器(439min)
5.1 理解定时器
5.1.1 可编程定时/计数器
5.1.2 理解GD32F10x的时钟树
5.2 系统滴答定时器SysTick
5.2.1 SysTick的工作原理
5.2.2 SysTick的使用方法
5.2.3 SysTick案例:SysTick控制LED闪烁
5.3 实时时钟
5.3.1 RTC的原理
5.3.2 常用库函数
5.3.3 RTC的使用方法
5.3.4 RTC案例——RTC日历
5.4 看门狗
5.4.1 独立看门狗
5.4.2 窗口看门狗
5.4.3 看门狗案例——独立看门狗使用示例
5.5 定时器
5.5.1 基本定时器
5.5.2 通用定时器
5.5.3 高级定时器
5.5.4 定时器使用
5.6 小结
5.7 练习题
5.8 实验:PWM实现呼吸灯效果
5.8.1 实验目标
5.8.2 实验方法分析
5.8.3 实验代码
5.8.4 实验现象
第6章 通用同步/异步串行通信USART(160min)
6.1 串行通信原理概述
6.1.1 串行通信的硬件连接
6.1.2 异步串行通信的数据帧
6.2 GD32F10x的串口工作原理
6.2.1 USART的结构框图
6.2.2 利用库函数设置和使用串口
6.3 UART案例:以串口查询方式发送数据
6.3.1 案例目标
6.3.2 案例方法
6.3.3 案例代码
6.3.4 效果分析
6.4 小结
6.5 练习题
6.6 UART实验:UART的中断式接收
6.6.1 实验目标
6.6.2 实验方法分析
6.6.3 实验代码
6.6.4 实验现象
第7章 集成电路总线I2C通信(350min)
7.1 理解I2C
7.1.1 I2C的物理层
7.1.2 I2C的协议层
7.2 GD32的I2C模块
7.2.1 数据有效性
7.2.2 开始与停止状态
7.2.3 时钟同步和仲裁
7.2.4 编程模型
7.2.5 DMA模式下数据传输
7.2.6 报文错误校验
7.2.7 状态、错误和中断
7.3 I2C案例:软件模拟I2C控制LM75AD
7.3.1 案例目标
7.3.2 案例方法
7.3.3 案例代码
7.3.4 效果分析
7.4 小结
7.5 练习题
7.6 I2C实验:硬件I2C控制OLED屏显示
7.6.1 实验目标
7.6.2 实验方法分析
7.6.3 实验代码
7.6.4 实验现象
第8章 串行外设SPI(252min)
8.1 认识SPI
8.1.1 SPI协议原理概述
8.1.2 一主一从的SPI通信过程
8.1.3 一主多从的SPI连接方式
8.2 GD32中的SPI外设
8.2.1 功能框图
8.2.2 模式配置
8.3 SPI案例:软件模拟SPI读写W25Qxx
8.3.1 案例目标
8.3.2 案例方法
8.3.3 案例代码
8.3.4 效果分析
8.4 小结
8.5 练习题
8.6 SPI案例:硬件SPI操作W25Q32
8.6.1 实验目标
8.6.2 实验方法分析
8.6.3 实验代码
8.6.4 实验现象
第9章 控制器局域网(170min)
9.1 理解CAN
9.1.1 CAN协议简介
9.1.2 CAN协议的物理层
9.1.3 CAN协议的数据链路层
9.1.4 CAN的位同步
9.2 GD32的CAN外设
9.2.1 一般使用流程
9.2.2 工作与通信模式
9.2.3 数据收发
9.2.4 过滤功能
9.2.5 中断
9.3 小结
9.4 练习题
9.5 CAT实验:自回环通信模式案例
9.5.1 实验目标
9.5.2 实验方法分析
9.5.3 实验代码
9.5.4 实验现象
第10章 模数转换器(142min)
10.1 ADC一般概念
10.1.1 模拟信号与数字信号
10.1.2 模数原理概述
10.2 GD32F10x的ADC外设
10.2.1 ADC电源与时钟
10.2.2 ADC通道和转换顺序
10.2.3 运行模式
10.2.4 采样时间与外部触发配置
10.3 ADC库函数的使用
10.3.1 常用库函数
10.3.2 利用库函数实现ADC步骤
10.4 小结
10.5 练习题
10.6 ADC实验:测量光敏电阻的阻值
10.6.1 实验目标
10.6.2 实验方法分析
10.6.3 实验代码
10.6.4 实验现象
第11章 直接数据存储DMA(160min)
11.1 概述
11.2 DMA控制器原理
11.2.1 理解DMA框图
11.2.2 MDA寄存器
11.2.3 DMA传输过程
11.3 GD32F10x的DMA
11.3.1 GD32F10x的DMA原理框图
11.3.2 DMA传输功能要点
11.3.3 DMA流程解析
11.4 小结
11.5 练习题
11.6 DMA实验:DMAADC摇杆用法
11.6.1 实验目标
11.6.2 实验方法分析
11.6.3 实验代码
11.6.4 实验现象
第12章 电机控制入门(248min)
12.1 舵机
12.1.1 构成原理
12.1.2 使用方法
12.1.3 舵机案例:旋转编码器控制舵机旋转
12.2 步进电机
12.2.1 工作原理
12.2.2 步进电机驱动ULN2003
12.3 小结
12.4 练习题
12.5 步进电机实验:步进电机正反转控制
12.5.1 实验目标
12.5.2 实验方法分析
12.5.3 实验代码
12.5.4 实验现象
参考文献
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...