ESP8266
技术参考
版本 1.4
版权 © 2019
关于本⼿手册
本⽂文介绍了了 ESP8266 的各个接⼝口,包括功能、参数配置、函数说明、应⽤用示例例等内容。
本⼿手册结构如下:
标题
内容
章
第 1 章
第 2 章
概述
GPIO
第 3 章
SDIO 通信 SPI 兼容模式
第 4 章
第 5 章
SPI 模块使⽤用说明
SPI Overlap 模式和显示屏
控制台 DEMO
第 6 章
SPI 透传协议(单线)
第 7 章
SPI 透传协议(双线)
第 8 章
第 9 章
HSPI 主机多设备驱动说
明
I2C 接⼝口说明
第 10 章
I2S 接⼝口说明
第 11 章
UART 接⼝口说明
第 12 章
PWM 接⼝口说明
第 13 章
IR 红外例例程及使⽤用说明
第 14 章
Sniffer 应⽤用设计说明
附录
附录
对 ESP8266 各接⼝口的简要介绍。
描述 GPIO 的功能、寄存器器和参数配置。
描述 SDIO 的功能、DEMO 实现⽅方案、ESP8266 端及 STM32 端
软件说明。
描述 SPI 的功能、SPI 主/从机协议格式和 API 函数说明。
描述 SPI 的功能、硬件连接、API 说明和显示屏控制台程序
DEMO。
描述 SPI 的功能、从机协议格式、从机状态定义与中断线⾏行行为和
API 函数说明。
描述 SPI 的功能、从机协议格式、数据流控制线功能说明和 API
函数说明。
描述 HSPI 的功能、硬件连接和 API 说明。
描述 I2C 的功能、master 接⼝口和使⽤用示例例。
描述 I2S 的功能、模块配置和接⼝口函数说明。
描述 UART 的功能、硬件资源、参数配置、配置中断、中断处理理
函数示例例流程和屏蔽上电打印。
PWM 的功能、pwm.h 详解和⾃自定义通道。
红外发送与接收使⽤用说明、参数配置、例例程说明、硬件连接和实
验结果。
Sniffer 模式介绍、应⽤用场景和相关问题、⼿手机 APP 设计和 IOT-
device 上固件设计。
GPIO 寄存器器、SPI 寄存器器、UART 寄存器器、定时器器寄存器器。
发布说明
⽇日期
2016.05
2016.06
V1.0
V1.1
版本
发布说明
⾸首次发布。
增加章节 4.5 SPI 接⼝口说明
⽇日期
2016.08
2017.05
2019.08
V1.2
V1.3
V1.4
版本
发布说明
更更新章节 14.1 Sniffer 模式介绍
更更新章节 4.1.2 SPI 特点
更更新章节 1.1 通⽤用输⼊入/输出接⼝口(GPIO)
⽬目录
1. 概述
1.1. 通⽤用输⼊入/输出接⼝口(GPIO)
1.2. 安全数字输⼊入/输出接⼝口(SDIO)
1.3. 串串⾏行行外设接⼝口(SPI/HSPI)
.........................................................................................................................................
...................................................................................................
............................................................................................
.....................................................................................................
...............................................................................................
...............................................................................................................
......................................................................................................................................
......................................................................................................................................
..........................................................................................................
..............................................................................................................
.................................................................................................................................
.........................................................................................................................................
1.4.
1.5.
1.6. 通⽤用异步收发器器(UART)
1.7. 脉冲宽度调制(PWM)
1.8.
1.9. Sniffer
1.3.1. 通⽤用 SPI(主机/从机)
1.3.2. HSPI(从机)
I2C 接⼝口
I2S 接⼝口
IR 遥控接⼝口
1
1
1
1
1
2
2
2
3
3
4
4
2. GPIO
2.1. 功能综述
2.2. GPIO 寄存器器说明
2.2.1. GPIO 功能选择寄存器器
2.2.2. GPIO 输出寄存器器
2.2.3. GPIO 输⼊入寄存器器
2.2.4. GPIO 中断寄存器器
2.2.5. GPIO16 对应接⼝口
.......................................................................................................................................
.....................................................................................................................................
........................................................................................................................
...................................................................................................
..........................................................................................................
..........................................................................................................
..........................................................................................................
..........................................................................................................
.....................................................................................................................................
.....................................................................................................
...................................................................................................
...................................................................................................
................................................................................................
2.3.1. 应⽤用场景 1 参数配置
2.3.2. 应⽤用场景 2 参数配置
2.3.3. 应⽤用场景 3 参数配置
2.3.4. 中断函数处理理流程说明
5
5
6
6
6
7
7
8
8
9
10
10
11
2.3. 参数配置
2.3.5. 中断函数处理理流程示例例
................................................................................................
12
3. SDIO 通信 SPI 兼容模式
3.1. 功能综述
3.2. DEMO 实现⽅方案
3.2.1. 平台介绍
3.2.2. ESP8266 软件编译与下载准备
3.2.3. ESP8266 FLASH 端软件下载
3.2.4. ESP8266 FLASH 端软件下载
.......................................................................................................
...................................................................................................................................
.......................................................................................................................
......................................................................................................................
....................................................................................
......................................................................................
......................................................................................
...............................................................................................................
......................................................
..................................................................................
...........................................................................
...................................................................................................................
..............................................................................................................
3.3.1. 协议原理理:SDIO 中断线⾏行行为与 SDIO 状态寄存器器
3.3.2. 读写缓存与注册链表的使⽤用说明
3.3.3. ESP8266 DEMO 中提供的 API 函数
3.3. ESP8266 端软件说明
3.4. STM32 端软件说明
3.4.1. 主要函数说明
13
13
13
13
13
14
14
15
15
16
17
18
18
4. SPI 模块使⽤用说明
4.1. 概述
4.2. ESP8266 SPI 主机协议格式
4.1.1. 功能综述
4.1.2. SPI 特点
4.2.1. SPI 主机⽀支持的通信格式
4.2.2. 现有 API ⽀支持的 SPI 主机通信格式
..................................................................................................................
..........................................................................................................................................
......................................................................................................................
......................................................................................................................
.....................................................................................................
.............................................................................................
.............................................................................
.....................................................................................................
.........................................................................................
.............................................................................................
.................................................................................................
.............................................................................
..............................................................................................................
................................................................................................
4.3.1. SPI 从机时钟极性配置要求
4.3.2. SPI 从机⽀支持的通信格式
4.3.3. SPI 从机⽀支持命令定义
4.3.4. 现有 API ⽀支持的 SPI 从机通信格式
4.4.1. SPI 主机 API 函数说明
21
21
21
21
21
21
22
22
22
22
22
23
23
23
4.3. ESP8266 SPI 从机协议格式
4.4. SPI 模块 API 函数说明
4.5. SPI 接⼝口说明
4.4.2. SPI 主机 API 函数说明
................................................................................................
............................................................................................................................
......................................................................................................................
......................................................................................................................
.......................................................................................................
4.5.1. 数据结构
4.5.2. 接⼝口说明
4.5.3. SPI_Test 示例例说明
25
27
28
30
36
5. SPI Overlap 模式和显示屏控制台 DEMO
5.1. 功能综述
5.2. SPI OVERLAP 模式下的硬件连接
5.3. SPI OVERLAP 模式的 API 说明
5.4. 显示屏控制台程序 DEMO
..............................................................................
...................................................................................................................................
.............................................................................................
................................................................................................
.........................................................................................................
......................................................................................................................
...............................................................................................................
..............................................................................................................
5.4.1. 连线说明
5.4.2. API 函数说明
5.4.3. 预编译宏设定
47
47
48
48
49
49
49
51
6. SPI 透传协议(单线)
6.1. 功能综述
6.2. ESP8266 SPI 从机协议格式
6.2.1. SPI 从机时钟极性配置要求
6.2.2. SPI 从机⽀支持的通信格式
...........................................................................................................
...................................................................................................................................
.....................................................................................................
.........................................................................................
.............................................................................................
......................................................................................................
......................................................................................................................
......................................................................................................
..............................................................................................
52
52
52
52
52
53
53
53
53
6.3. 从机状态定义与中断线⾏行行为
6.3.1. 状态定义
6.3.2. GPIO0 中断线⾏行行为
6.4. ESP8266 SPI 从机 API 函数说明
7. SPI 透传协议(双线)
7.1. 功能综述
7.2. ESP8266 SPI 从机协议格式
...........................................................................................................
...................................................................................................................................
.....................................................................................................
.........................................................................................
.............................................................................................
7.2.1. SPI 从机时钟极性配置要求
7.2.2. SPI 从机⽀支持的通信格式
59
59
59
59
59
7.3. 数据流控制线功能说明
7.3.1. GPIO0 主机发送从机接收缓存状态
7.3.2. GPIO2 主机接收从机发送缓存状态
7.3.3. 主机通信逻辑实现
.............................................................................................................
.............................................................................
.............................................................................
.......................................................................................................
..............................................................................................
59
60
60
60
62
7.4. ESP8266 SPI 从机 API 函数说明
8. HSPI 主机多设备驱动说明
....................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
65
65
65
66
8.1. 功能综述
8.2. 硬件连接
8.3. API 说明
9. I2C 使⽤用说明
9.1. 功能综述
9.2.
.........................................................................................................................
...................................................................................................................................
........................................................................................................................
.........................................................................................................................
......................................................................................................................
......................................................................................................................
.......................................................................................................
....................................................................................................
.......................................................................................................
.......................................................................................................
.......................................................................................................
...................................................................................................................................
I2C master 接⼝口
9.2.1. 初始化
I2C 起始
9.2.2.
9.2.3.
I2C 停⽌止
I2C 主机回复 ACK
9.2.4.
9.2.5.
I2C 主机回复 NACK
9.2.6. 检查 I2C 从机应答
9.2.7. 向 I2C 总线写数据
9.2.8. 向 I2C 总线读数据
67
67
67
67
67
68
68
69
69
69
70
70
9.3. 使⽤用示例例
10.I2S 接⼝口说明
10.1. 功能综述
10.2. 模块配置
.........................................................................................................................
...................................................................................................................................
...................................................................................................................................
...............................................................................................................
......................................................................................................................
..............................................................................................................
10.2.1. I2S 模块配置
10.2.2. 链表配置
10.2.3. SLC 模块配置
72
72
72
72
75
76
10.3. 接⼝口函数说明
............................................................................................................................
......................................................................................................................
......................................................................................................................
......................................................................................................................
76
77
77
78
10.3.1. 空隙函数
10.3.2. 配置函数
10.3.3. 启动函数
11.UART 接⼝口说明
11.1. 功能综述
11.2. 硬件资源
11.3. 参数配置
11.4. 配置中断
11.3.1. 波特率
11.3.2. 校验位
11.3.3. 数据位
11.3.4. 停⽌止位
11.3.5. 反相
11.3.6. 切换打印函数输出端⼝口
11.3.7. 读取 tx/rx 队列列内当前剩余的字节数
11.3.8. 回环操作(loop-back)
11.3.9. 线中⽌止信号
11.3.10.流量量控制
11.3.11.其他接⼝口
.....................................................................................................................
...................................................................................................................................
...................................................................................................................................
...................................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.............................................................................................................................
................................................................................................
............................................................................
..............................................................................................
..................................................................................................................
.....................................................................................................................
.....................................................................................................................
...................................................................................................................................
..................................................................................................................
.............................................................................................................................
...............................................................................................................
..............................................................................................................
.......................................................................................................
...........................................................................................................
...........................................................................................................
.......................................................................................................
11.4.1. 中断寄存器器
11.4.2. 接⼝口
11.4.3. 接收 full 中断
11.4.4. 接收溢出中断
11.4.5. 接收超时中断 tout
11.4.6. 发送 fifo 空中断
11.4.7. 错误检测类中断
11.4.8. 流量量控制状态中断
79
79
80
80
80
81
81
81
81
82
82
82
82
82
83
83
83
84
84
85
85
86
86
87