stm32-SPI协议

SPI协议详解(图文并茂+超详细)

SPI通讯协议

于是我们想有没有更好一点的串行通讯方式;相比较于UART,SPI的工作方式略有不同。

SPI是一个同步的数据总线,也就是说它是用单独的数据线和一个单独的时钟信号来保证发送端和接收端的完美同步。

时钟是一个振荡信号,它告诉接收端在确切的时机对数据线上的信号进行采样。

产生时钟的一侧称为主机,另一侧称为从机。总是只有一个主机(一般来说可以是微控制器/MCU),但是可以有多个从机(后面详细介绍);

数据的采集时机可能是时钟信号的上升沿(从低到高)或下降沿(从高到低)。

具体要看对SPI的配置;

整体的传输大概可以分为以下几个过程:

主机先将NSS信号拉低,这样保证开始接收数据;

当接收端检测到时钟的边沿信号时,它将立即读取数据线上的信号,这样就得到了一位数据(1bit);

由于时钟是随数据一起发送的,因此指定数据的传输速度并不重要,尽管设备将具有可以运行的最高速度(稍后我们将讨论选择合适的时钟边沿和速度)。

主机发送到从机时:主机产生相应的时钟信号,然后数据一位一位地将从MOSI信号线上进行发送到从机;

主机接收从机数据:如果从机需要将数据发送回主机,则主机将继续生成预定数量的时钟信号,并且从机会将数据通过MISO信号线发送;

具体如下图所示;

相关推荐
危桥带雨2 小时前
RTC理论知识
stm32·单片机·嵌入式硬件·实时音视频
ElfBoard4 小时前
飞凌精灵(ElfBoard)技术贴|如何在RK3506开发板上实现UART功能复用
大数据·linux·人工智能·驱动开发·单片机·嵌入式硬件·物联网
踏着七彩祥云的小丑4 小时前
嵌入式——认识电子元器件——二极管系列
单片机·嵌入式硬件
Jack_02204 小时前
基于51单片机的智能电动窗帘控制OLED显示设计
单片机·嵌入式硬件·51单片机·智能家居·oled显示·电动窗帘
sz4972385995 小时前
vscode多种编译环境共存的方法
ide·vscode·stm32·编辑器·esp32
摘星台5 小时前
linux环境对stm32单片机进行程序烧录
linux·stm32·单片机
Joseph Cooper5 小时前
STM32MP157 Linux驱动学习笔记(三):系统级驱动框架(UART/PCIe)
linux·stm32·学习
森G6 小时前
STM32F103C8T6工程---标准库版usart2写回显
stm32·单片机
EVERSPIN6 小时前
基于MCU CH32X035 Type-C PD显示器方案
单片机·mcu·计算机外设
Joseph Cooper7 小时前
STM32MP157 Linux驱动学习笔记(一):驱动基础与设备模型入门(同步互斥/LCD/I2C/Input)
linux·stm32·学习