嵌入式开发学习日志42——stm32之SPI工作方式

在很久很久之前......

上一章对SPI的基本结构进行了介绍,而从这一章开始,就该了解SPI的四种工作方式了。

SPI的工作方式主要由输出时钟极性(CPOL)以及时钟相位(CPHA)决定,这两个因素互相搭配就成为了SPI常见的四种工作方式。

首先来看看CPOL时钟极性。它总共有两种取值------0和1,当CPOL=0时,串行同步时钟的空闲状态处于低电平,当CPOL=1时,空闲状态就会保持在高电平。

由于开始时空闲状态的电平并不相同,所以输出时钟的第一和第二跳变沿的规定也有所差异。当CPOL=0时,由于开始的空闲状态时钟处于低电平,所以之后跳变为高电平的上升沿就被称作第一边沿,而当高电平再次变为低电平时,下降沿就会作为第二边沿。当CPOL=1时,两种边沿的规定大不一样,第一边沿变为了下降沿,而第二边沿变为了上升沿。

有了第一边沿和第二边沿的规定,接下来就由时钟相位来决定到底取哪一个进行数据采集。

时钟相位CPHA也有两种取值。当CPHA=0时,串行同步时钟的第一边沿就会被采集数据,而当CPHA=1时,串行同步时钟的第二边沿就会被采集数据。

因此简单地进行两两搭配后,SPI的工作方式也就呼之欲出了。

当CPOL=0,CPHA=0时,同步时钟就会取上升沿进行数据的采集;当CPOK=0,CPHA=1时,同步时钟取下降沿进行数据采集,这两种分别被称为00和01模式。当CPOL=1,CPHA=0时,同步时钟会采集下降沿的数据,当CPOL=1,CPHA=1时,上升沿数据会被采集,此时这两种模式被称为10和11模式。

以上就是SPI简单的工作方式。

stm32提供了I2C和SPI两种不同的通信总线,那么两者究竟有何区别,有没有哪一方能被另一方代替呢?下一章会进行两者的比较并给出结论。

相关推荐
AI成长日志6 小时前
【Agentic RL】1.1 什么是Agentic RL:从传统RL到智能体学习
人工智能·学习·算法
UTP协同自动化测试6 小时前
物联网模组测试难点 |APP指令下发+UART 响应+GPIO 电平变化,如何一次性验证?
功能测试·嵌入式硬件·物联网·模块测试
_李小白7 小时前
【OSG学习笔记】Day 38: TextureVisitor(纹理访问器)
android·笔记·学习
杨云龙UP7 小时前
从0到1快速学会Linux操作系统(基础),这一篇就够了!
linux·运维·服务器·学习·ubuntu·centos·ssh
头疼的程序员8 小时前
计算机网络:自顶向下方法(第七版)第八章 学习分享(三)
网络·学习·计算机网络
yoyobravery8 小时前
蓝桥杯第15届单片机满分
单片机·职场和发展·蓝桥杯
_李小白8 小时前
【OSG学习笔记】Day 37: NodeVisitor(顶点访问器)
笔记·学习
程序员雷欧9 小时前
大模型应用开发学习第八天
大数据·人工智能·学习
晓晓hh9 小时前
JavaSE学习——set集合和Map映射
学习
4caf19 小时前
作业2:6位数码管静态显示
嵌入式硬件·51单片机