基本概念:
CPOL
CPOL:Clock Polarity,时钟的极性。
时钟的极性是什么概念呢?
通信的整个过程分为空闲时刻和通信时刻;
如果SCLK在数据发送之前和之后的空闲状态是高电平,那么就是CPOL=1;
如果空闲状态SCLK是低电平,那么就是 CPOL=0。
CPHA
CPHA:Clock Phase,时钟的相位。
CPHA=1,表示一个时钟周期的第一个沿上是输出。
CPHA=0,表示一个时钟周期的第一个沿上是采样。那输出就是第二个沿。
至于这个沿是上升还是下降要视CPOL的值而定,CPOL=1 那就是下降沿,反之就是上升沿。
至于第一个bit是如何传输上来的,有两种情况:一是 SSEL 使能的边沿,二是上一帧数据的最后一个时钟沿,有时两种情况还会同时生效。具体看下面就懂了。
四种工作模式
SPI3
以CPOL=1,CPHA=1为例,把时序图画出来给大家看一下,如图1所示。