ESP8266EX 共有 17 個 GPIO 管腳,通過配置適當的寄存器可以給它們分配不同的功能。每個 GPIO 都可以配置為內部上拉/下拉,或者被設置為高阻。當被配置為輸入時,可通過讀取寄存器獲取輸入值;輸入也可以被設置為邊緣觸發或電平觸發來產生 CPU 中斷。簡言之,IO 管腳是雙向、非反相和三態的,帶有三態控制的輸入和輸出緩衝器。這些管腳可以與其他功能複用,例如 I2C、I2S、UART、PWM、IR 遙控、LED、Light 和 Button 接口等。
ESP8266 的內部功能原理 |
- SCLK(Serial Clock):串行時鐘,由主機發出
- MOSI(Master Output,Slave Input):主機輸出從機輸入訊號,由主機發出
- MISO(Master Input,Slave Output):主機輸入從機輸出訊號,由從機發出
- CS(Chip Selected):片選訊號,由主機發出,低電平有效
SPI 特性:
- 支持標準的主機 (Master)和從機 (Slave) 模式。
- 支持長度可編程的硬件指令(CMD) 和地址(ADDR),指令最大16位(16 bits),地址最長 64位(64 bits)。
- 數據緩衝最大 64字節(64 bytes),以 word 對齊。
- Slave模式下可編程的讀寫狀態寄存器。
- 3 個片選管腳(CS / Chip Selected)。
- 時鐘頻率高達 80MHz。可選的時鐘極性(Polarity)。
- 可選的最高有效位(MSB)和最低有效位(LSB)傳輸。
- 可選的數據緩衝區高字節和低字節先傳輸。
- 傳輸結束,讀寫數據,讀寫狀態多個中斷源(Interrupt)可選擇。
General SPI Pin Definition |
SDIO / SPI Pin Definition |
HSPI Pin Definition |
SPI / HSPI Overlap |
ESP8266和 ESP-12E 開發板 SPI 腳定義:
ESP8266
|
GPIO
|
Pin
Name
|
Function
Name
|
ESP-12E
|
Pin
Name
|
15
|
IO0
|
GPIO0
|
SPICS2
|
27
|
D3
|
26
|
IO1
|
U0TXD
|
SPICS1
|
18
|
TX
|
21
|
IO6
|
SDIO_CLK
|
SPICLK
|
9
|
CLK
|
22
|
IO7
|
SDIO_DATA0
|
SPIQ/MISO
|
8
|
SD0
|
23
|
IO8
|
SDIO_DATA1
|
SPID / MOSI
|
6
|
SD1
|
18
|
IO9
|
SDIO_DATA2
|
SPIHD
|
5
|
SD2
|
19
|
IO10
|
SDIO_DATA3
|
SPIWP
|
4
|
SD3
|
20
|
IO11
|
SDIO_CMD
|
SPICS0
|
7
|
CMD
|
10
|
IO12
|
MTDI
|
HSPIQ / MISO
|
22
|
D6
|
12
|
IO13
|
MTCK
|
HSPID / MOSI
|
21
|
D7
|
9
|
IO14
|
MTMS
|
HSPICLK
|
23
|
D5
|
13
|
IO15
|
MTDO
|
HSPICS
|
20
|
D8
|
SPI 主機支持的通信格式 (Master Protocol Format):
SPI 主機通信格式為命令 +地址 + 寫/讀數據(CMD + ADDR + DATA)
命令:必須存在;長度 1 ~ 16 位; 主機輸出從機輸入(MOSI)
地址:可選;長度 0 ~ 32 位; 主機輸出從機輸入(MOSI)
數據寫或讀:可選;長度 0 ~ 512 位(64 bytes); 主機輸出從機輸入(MOSI)或主機輸入從機輸出(MISO)
SPI 從機支持的通信格式(Slave Protocol Format):
SPI 從機通信格式與主機通信格式相同為命令 +地址 + 寫/讀數據,而從機寫讀操作有固定硬件命令,且地址部分不能去除。
命令:必須存在;長度 3 ~ 16 位; 主機輸出從機輸入(MOSI)
地址:可選;長度 1 ~ 32 位; 主機輸出從機輸入(MOSI)
數據寫或讀:可選;長度 0 ~ 512 位(64 bytes); 主機輸出從機輸入(MOSI)或主機輸入從機輸出(MISO)
2017年 4月 11日 天氣報告
氣溫:23.0度 @ 22:00
相對濕度:百分之 93%
天氣:微雨
沒有留言:
張貼留言