嵌入式开发学习日志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两种不同的通信总线,那么两者究竟有何区别,有没有哪一方能被另一方代替呢?下一章会进行两者的比较并给出结论。

相关推荐
光影少年2 分钟前
前端ai开发需要学习哪些东西?
前端·人工智能·学习
SystickInt7 分钟前
常见问题整理总结
单片机·嵌入式硬件
亦诚亦心13 分钟前
单片机各种驱动简要解释
单片机·嵌入式硬件
阿拉斯攀登14 分钟前
51单片机:点灯程序
单片机·嵌入式硬件·51单片机
逐步前行18 分钟前
C51_AT24C02 EEPROM
单片机
zhmc44 分钟前
单片机ADC内部基准参考电压有那些应用
单片机·嵌入式硬件
萘柰奈1 小时前
Unity学习--2D动画--[序列帧动画]2D序列帧动画
学习·unity·游戏引擎
阿拉斯攀登1 小时前
51单片机概述
单片机·嵌入式硬件·51单片机
TL滕1 小时前
从0开始学算法——第十三天(Rabin-Karp 算法练习)
笔记·学习·算法·哈希算法
tang_shou1 小时前
STM32CubeMx使用STM32F4系列芯片实现串口DMA接收
c语言·arm开发·stm32·单片机·嵌入式硬件·mcu·stm32cubemx