SPI的通信原理以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,有4根线,单向传输时只要3根线。
(1)MOSI(SDO) – 主设备数据输出,从设备数据输入(Master Out Slave In)
(2)MISO(SDI)  – 主设备数据输入,从设备数据输出(Master In Slave Out)
(3)SCLK – 时钟信号,由主设备产生(Serial Clock)
(4)CS – 从设备使能信号,由主设备控制,拉低有效。(Chip Select)
 
四种SPI模式:
CKPOL (Clock Polarity) = CPOL = POL = Polarity = (时钟)极性
  (CPOL=0时钟空闲时为低电平,CPOL=1时钟空闲时为高电平)
 
CKPHA (Clock Phase)   = CPHA = PHA = Phase   = (时钟)相位
  (CPHA=0时在第一个时钟跳变沿采样数据,CPHA=1时在第二个时钟跳变沿采样数据,) 
 
  
 
 
 
 
1、SPI的IO状态初始化[CPOL=1]
  {
    CS_H
    CLK_H
    DATA_H
    CS_L
  }
2、SPI数据传输[CPHA=1]
  {
    CS_L
 
    {//[器件特殊要求先发送一个1]      
      DATA_L
      CLK_L
      CLK_H
    }
    
    DATA_ToBeSent
 
    CLK_L
    CLKH
    
    CS_H
  }