如图所示,取决于下图中两个参数:
SpiDataShiftEdge:数据位移的边沿,LEADING(前沿)/TRAILING(后沿)
SpiShiftClockIdleLevel:SCLK空闲时间电平,LOW(低电平)/HIGH(高电平)
这里需要注意的是,SpiShiftClockIdleLevel参数和我们CPOL极性是符合的,CPOL = 0时该参数为LOW,CPOL = 1时该参数为HIGH;
但是SpiDataShiftEdge指的数据改变的时基,而不是采集数据的时基,因此和CPHA相反,CPHA = 0,采样时基为前沿,而改变数据时为后沿,该参数SpiDataShiftEdge值为TRAILING,CPHA = 1同样的道理。
模式0:CPOL = 0,CPHA = 0
模式1:CPOL = 0,CPHA = 1
模式2:CPOL = 1,CPHA = 0
模式3:CPOL = 1,CPHA = 1