SPI 通信
SPI(Serial Peripheral Interface)串行外设接口
高速(相比于IIC,串口通信),全双工,同步
一般有一个主设备和多个从设备,通过片选一次选定一个从设备进行通信
四根线
SCK
Serial clock
时钟线用来计算单个bit持续的时间
不然就对于一些情况就无法区分
比如
01
0011
MISO
master input slave output
MOSI
master output slave input
CS
chip select 片选
可以选择一对一或者一对多,一次只能一对一
优点
可以同时接收和发送不干扰
- 全双工
- 速率快
- 通信简单
串口也是
IIC就是半双工
缺点
- 用线多
- 不能判断数据是否到达
寻址方法
将片选置为低代表选择此设备位从机
通信过程
先发高位再发低位,iic也是
uart先发低位再发高位
无起始信号,也没有终止信号——快
那么如何区别呢——时钟线
uart通过波特率
没有应答 不管数据是否准确
同步通信
时钟线在上升沿或下降沿时向数据线上发送数据,在紧接着的下降沿或上升沿时接收器从数据线上读取数据,完成一位数据的传输
极位与相性
时钟极性(CPOL)
CPOL=0代表CPOL为低电平时处于空闲状态
CPOL=1代表CPOL为高电平时处于空闲状态
时钟相位(CPHA)
CPHA=0,代表每个周期的第一个时钟沿采样
CPHA=1,代表每个周期的第二个时钟沿采样
所以两两结合,有四种模式
但是选哪种模式不是写程序的人自己决定,而是根据芯片的设定来,按照芯片设定的模式再来写对应的程序