热度 4
2022-11-19 11:39
2702 次阅读|
0 个评论
SPI分为四种模式: CPOL = 0 :时钟空闲的时候为低电平; CPOL = 1 :时钟空闲的时候为高电平; CPHA = 0 : 第一个跳变沿对信号采样; CPHA = 1 : 第二个跳变沿对信号采样; 实验代码如下,在启动发送数据前,对GPIO口置位,方便查看从使能SPI到数据时钟起来的时候的时间间隔 分别对其实验: 实验1:CPOL = 0,CPHA = 0 ,逻辑分析仪抓数据可以看到,在使能SPI模块以后,隔了半个周期的时间,SPI的时钟开始动作,由于CPHA=0,在第一个时钟跳变沿开始采样数据。 实验2: CPOL = 0,CPHA = 1, 逻辑分析仪抓数据可以看到,在使能SPI模块以后,隔了半个周期的时间,SPI的时钟开始动作,由于CPHA=1,在第二个时钟跳变沿开始采样数据。 实验3: CPOL = 1,CPHA = 0, 逻辑分析仪抓数据可以看到,在使能SPI模块以后,由于CPOL=1,空闲时候时钟为高电平,所有先拉高时钟,即使CPHA=0,第一个时钟跳变沿也是放弃采样, 在第二个时钟跳变沿开始采样数据,也就说smt32固定有半个时钟周期是当作使能SPI模块以后,稳定通信的时间间隔。 实验4: CPOL = 1,CPHA = 1,同理,也是在使能SPI模块以后,半个周期时间间隔,才从第二个(第三个)跳变沿采样时间