SPI
(serial peripheral Interface) 串行外设接口。
他是一种高速(比iic,uart快,但是肯定没usb快)、全双工(收发同步)、同步(共用一个时钟线)的一种通信总线。
它只有一个主机,但是它可以拥有多个从机。
它每一个从机都会连一个片选线。
这样的话,要是连8个从机就会有8个片选线,一共用了十一条线。
所以spi最少有四条线
spi发一个位的数据就接收一个位的数据,从高位开始发。
spi也没有应答信号,你发完一个字节的数据之后,可以再发或者不发。
也没有起始信号,也没有停止信号。(那什么时候开始传数据,什么时候开始停止有初始化主机,设置好工作模式,就开始,当数据传送完成就结束吗?那我如果要选从机的寄存器又要怎么选?)
极性和相位。
SPI和iic不一样它的极性和相位可以被改变。
极性:空闲状态下的mosi和miso的电平
CPOL=0 空闲为低;
CPOL=0 空闲为高;
相位:什么时候开始发送数据,什么时候能接收数据(上升沿发送还是下降沿发送)
CPHA = 0每个周期的第一个时钟采样:
CPHA = 1每个周期的第二个时钟采样: