图书目录

目录

配套课件(PPT)

源码及原理图

第1章概述(112min)

1.1理解嵌入式系统的概念

1.1.1什么是嵌入式系统

1.1.2嵌入式系统的构成原理

1.1.3嵌入式系统的分类

1.1.4嵌入式系统的处理器技术简介

1.2ARM简史

1.2.1ARM的发展历程

1.2.2ARM架构的变迁

1.2.3ARM嵌入式开发的学习路线

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.2CortexM3架构简介

2.2.1架构总览

2.2.2CortexM3的重点模块

2.2.3ARM指令集与三级流水线

2.2.4存储器映射

2.3GD32F10x对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.2GPIO工作原理

3.2.1内部结构框图

3.2.2输出工作模式

3.2.3输入工作模式

3.3GPIO主要寄存器简介

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.6AFIO端口配置寄存器0(AFIO_PCF0)

3.4GPIO常用库函数介绍

3.4.1初始化函数

3.4.2输入输出控制函数

3.4.3状态查询函数

3.5GPIO案例: 按键控制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.1NVIC简介

4.2.2NVIC工作机制

4.2.3NVIC配置

4.3EXTI外部中断/事件控制器

4.3.1EXTI简介

4.3.2EXTI原理

4.3.3EXTI通用IO映像

4.3.4EXTI使用方法

4.4EXTI外部中断处理的常用库函数简介

4.4.1初始化或使能相关函数

4.4.2EXTI外部中断响应处理相关函数

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.1SysTick的工作原理

5.2.2SysTick的使用方法

5.2.3SysTick案例: SysTick控制LED闪烁

5.3实时时钟

5.3.1RTC的原理

5.3.2常用库函数

5.3.3RTC的使用方法

5.3.4RTC案例——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.2GD32F10x的串口工作原理

6.2.1USART的结构框图

6.2.2利用库函数设置和使用串口

6.3UART案例: 以串口查询方式发送数据

6.3.1案例目标

6.3.2案例方法

6.3.3案例代码

6.3.4效果分析

6.4小结

6.5练习题

6.6UART实验: UART的中断式接收

6.6.1实验目标

6.6.2实验方法分析

6.6.3实验代码

6.6.4实验现象

第7章集成电路总线I2C通信(350min)

7.1理解I2C

7.1.1I2C的物理层

7.1.2I2C的协议层

7.2GD32的I2C模块

7.2.1数据有效性

7.2.2开始与停止状态

7.2.3时钟同步和仲裁

7.2.4编程模型

7.2.5DMA模式下数据传输

7.2.6报文错误校验

7.2.7状态、错误和中断

7.3I2C案例: 软件模拟I2C控制LM75AD

7.3.1案例目标

7.3.2案例方法

7.3.3案例代码

7.3.4效果分析

7.4小结

7.5练习题

7.6I2C实验: 硬件I2C控制OLED屏显示

7.6.1实验目标

7.6.2实验方法分析

7.6.3实验代码

7.6.4实验现象

第8章串行外设SPI(252min)

8.1认识SPI

8.1.1SPI协议原理概述

8.1.2一主一从的SPI通信过程

8.1.3一主多从的SPI连接方式

8.2GD32中的SPI外设

8.2.1功能框图

8.2.2模式配置

8.3SPI案例: 软件模拟SPI读写W25Qxx

8.3.1案例目标

8.3.2案例方法

8.3.3案例代码

8.3.4效果分析

8.4小结

8.5练习题

8.6SPI案例: 硬件SPI操作W25Q32

8.6.1实验目标

8.6.2实验方法分析

8.6.3实验代码

8.6.4实验现象

第9章控制器局域网(170min)

9.1理解CAN

9.1.1CAN协议简介

9.1.2CAN协议的物理层

9.1.3CAN协议的数据链路层

9.1.4CAN的位同步

9.2GD32的CAN外设

9.2.1一般使用流程

9.2.2工作与通信模式

9.2.3数据收发

9.2.4过滤功能

9.2.5中断

9.3小结

9.4练习题

9.5CAT实验: 自回环通信模式案例

9.5.1实验目标

9.5.2实验方法分析

9.5.3实验代码

9.5.4实验现象

第10章模数转换器(142min)

10.1ADC一般概念

10.1.1模拟信号与数字信号

10.1.2模数原理概述

10.2GD32F10x的ADC外设

10.2.1ADC电源与时钟

10.2.2ADC通道和转换顺序

10.2.3运行模式

10.2.4采样时间与外部触发配置

10.3ADC库函数的使用

10.3.1常用库函数

10.3.2利用库函数实现ADC步骤

10.4小结

10.5练习题

10.6ADC实验: 测量光敏电阻的阻值

10.6.1实验目标

10.6.2实验方法分析

10.6.3实验代码

10.6.4实验现象

第11章直接数据存储DMA(160min)

11.1概述

11.2DMA控制器原理

11.2.1理解DMA框图

11.2.2MDA寄存器

11.2.3DMA传输过程

11.3GD32F10x的DMA

11.3.1GD32F10x的DMA原理框图

11.3.2DMA传输功能要点

11.3.3DMA流程解析

11.4小结

11.5练习题

11.6DMA实验: DMA ADC摇杆用法

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实验现象

参考文献