原创 SPI的四种模式

2022-11-19 11:39 709 3 3 分类: MCU/ 嵌入式 文集: SPI接口
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模块以后,半个周期时间间隔,才从第二个(第三个)跳变沿采样时间


作者: 宏杰, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-4027574.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

给作者打赏,鼓励TA抓紧创作!

赞赏支持
点赞 3
赞赏1

文章评论0条评论)

登录后参与讨论
相关推荐阅读
宏杰 2022-11-25 15:32
RISC-V GCC 定义程序块在RAM运行的方法
纯粹记录一下过程有时候需要将程序放在RAM运行,比如在休眠的时候,FLASH停止工作,而RAM没停止的情况下,我们可以将我们需要的程序块定义在RAM中,对系统监控或者执行某些任务。首先需要修改链接脚本...
我要评论
0
3
1
2
3
4
5
6
7
8
9
0
关闭 热点推荐上一条 /4 下一条