1.通讯方式
串行 同步 全双工(查询通讯特点)
2.硬件电路
![](https://i-blog.csdnimg.cn/blog_migrate/ba9a99ed7a6b775d6b941725548ad22d.png)
MISO( Master Input Slave Output):主设备数据输入,从设备数据输出;
MOSI(Master Output Slave Input):主设备数据输出,从设备数据输入;
SCLK(Serial Clock):时钟信号,由主设备产生;
CS/SS(Chip Select/Slave Select):从设备使能信号,由主设备控制,可以设置高电位或低电位使能
3.通讯协议
SPI主设备和从设备都有一个串行移位寄存器,主设备通过向它的SPI串行寄存器写入一个字节来发起一次传输。
![](https://i-blog.csdnimg.cn/blog_migrate/de8e6fc7bbb797f5663a64cbba8a24d7.png)
![](https://i-blog.csdnimg.cn/blog_migrate/aa67e3fc0a5d2168b90cd988543af0ff.png)
(1)主设备发起信号,将CS/SS拉低,启动通信。
(2)主设备通过发送时钟信号,来告诉从设备进行写数据或者读数据操作
4.时钟极性(英文:
CKP或CPOL)和时钟相位(英文:
CKE或CPHA)
(1)时钟极性
CKP = 0:时钟空闲IDLE(默认状态)为低电平 0;
CKP = 1:时钟空闲IDLE为高电平1。
(2)时钟相位
CKE = 0:在时钟信号SCK的第一个跳变沿采样;
CKE = 1:在时钟信号SCK的第二个跳变沿采样
总结:由此产生四种模式
![](https://i-blog.csdnimg.cn/blog_migrate/82fc39b3466c833d7b43f96d3fcfd9d2.png)
黑线为采样数据的时刻,蓝线为SCK时钟信号