文章目录
- 一、硬件连线
- 二、引脚含义
- 三、传输示例
- 四、传输模式
一、硬件连线

二、引脚含义
| 引脚 | 含义 | 
|---|---|
| DO(MOSI - Master Output Slave Input) | 主机发数据,从机收数据 | 
| DI(MISO - Master Input Slave Output) | 主机收数据,从机发数据 | 
| SCK(Serial Clock) | 时钟线,由主机控制 | 
| CS(Chip Select) | 片选线,由主机控制 | 
- MOSI和MISO都使用时,是全双工通信
- 仅使用MOSI或MISO其中一个,是半双工通信
三、传输示例
CS0:拉低,选中从设备
 SCK:每一个时钟周期传输1位
 DO:某个周期时的电平状态
 
四、传输模式
SPI有四个传输模式,传输模式只与SCK的两个参数有关:
- CPOL: SCK的初始电平称为CPOL,0是低电平,1是高电平;
- CPHA: SCK的相位称CPHA,也就是数据的传输或采集是在第一时钟沿还是第二时钟沿,0是第一时钟沿,1是第二时钟沿;
下表是四个传输模式:
| CPOL | CPHA | 模式 | 含义 | 
|---|---|---|---|
| 0 | 0 | 0 | CLK初始电平为低电平,在第一个时钟沿采样数据 | 
| 0 | 1 | 1 | CLK初始电平为低电平,在第二个时钟沿采样数据 | 
| 1 | 0 | 2 | CLK初始电平为高电平,在第一个时钟沿采样数据 | 
| 1 | 1 | 3 | CLK初始电平为高电平,在第二个时钟沿采样数据 | 
至于选什么模式,取决于从设备,去看从设备的芯片手册;
 常用的模式是0和3,无需关注CLK初始电平,只要在上升沿采集数据就行;