SS:NSS( NOT SLAVE SELET )、CS( CHIP SELECT )
·同步:SCK引脚用于提供时钟信号,数据位的输出和输入都是在SCK的上升沿或下降沿进行,数据位的收发时刻因此得以确定。同步时序下时钟快慢或中途暂停都没问题。SCK相当于IIC通信下的SCL,作用相同。
·全双工:数据发送和数据接收单独各占一条线,发送用发送的线路,接收用接收的线路,互不影响。MOSI如果是主机接在上面,那就是MO主机输出,如果是从机接在这条线上就是MI从机输入。一条通信线如果主机接在上面配置为输出,从机必须配置为输入才能接收数据,主机和从机不能同时配置为输出和输入,会造成无法通信。同理MISO是主机从从机接收数据的线路。这两根通信线加在一起相当于IIC通信的SDA,不过IIC是半双工。全双工的好处是简单高效,数据流方向不会改变,无需担心发送和接收没协调好冲突,但是多了一根线造成了资源的浪费。
·一主多从:SPI仅支持一主多从,IIC实现一主多从的方式是在起始条件之后主机必须先发送一个字节进行寻址,用于规定要和哪个从机进行通信,要设计分配地址和寻址的问题。SPI实现一主多从的方式通过开辟多条通信线用于和从机通信,有几个从机就对应有几条SS,需要找哪个从机的时候就控制信号线为低电平,不需要时信号线为高电平。SPI没有应答机制,是否具有接收方无法得知。