STM32——SPI

SPI 通信

SPI 是一种同步的全双工通信,支持一主多从

采用四根通信线

SCK(CK) : 串行时钟线

MOSI(DO) : 主机输出从机输入

MISO(DI) : 主机输入从机输出

SS(CS) : 从机选择

##移位寄存器

SPI 移位寄存器的时钟源由主机 波特率发生器提供,产生的时钟通过SCK接入从机的移位寄存器

主机高位通过MOSI输出到从机的低位

从机的高位通过MISO输出到主机的低位

这样SCK跳变8次 主机和从机就可以交换1个字节数据

SPI基本时序

  1. 起始条件:SS从高电平切换到低电平
  2. 终止条件:SS从低电平切换到高电平

交换一个字节

CPOL 时钟极性

CPHA 时钟相位

  1. 模式0 (CPOL =0 CPHA =0)
    CPOL=0:空闲状态,SCK低电平
    CPHA=0:SCK第一个边沿移入数据,第二个边沿移出数据

SCK此时需要在上升沿开始前先移出一个数据 所以在SS的下降沿直接移出一个数据

SCK上升沿移入数据

  1. 模式1 (CPOL =0 CPHA =1)
    CPOL=0:空闲状态,SCK低电平
    CPHA=1:SCK第一个边沿移出数据,第二个边沿移入数据

在SS高电平时MISO为高阻态 SS低电平时MISO为低阻态(防止多个从机输出)

SCK此时第一个边沿为上升延 移出数据 第二个边沿为下降沿 移入数据

  1. 模式2 (CPOL =1 CPHA =0)
    CPOL=1:空闲状态,SCK高电平
    CPHA=0:SCK第一个边沿移入数据,第二个边沿移出数据
  2. 模式3 (CPOL =1 CPHA =1)
    CPOL=1:空闲状态,SCK高电平
    CPHA=1:SCK第一个边沿移出数据,第二个边沿移入数据
相关推荐
m0_752753126 小时前
单片机基础知识
单片机·51单片机
天空'之城6 小时前
单片机基础核心知识点汇总(三十六)
单片机·嵌入式硬件
云泽8087 小时前
STM32 USART 详解(八):C I/O 串口重定向原理与实现
c语言·stm32·嵌入式硬件
Doraemomo8 小时前
IMX6ULL裸机开发——系统主频和时钟配置
arm开发·嵌入式硬件·makefile·imx6ull
深圳市恒锐丰科技杨生10 小时前
EG1192H 零功耗使能集成上管非同步降压 DC‑DC|屹晶 EGmicro
嵌入式硬件·硬件工程
星栖与芯11 小时前
LiteOS-M 切换汇编逐行图解(1):汇编是什么·寄存器与栈
汇编·stm32·嵌入式硬件·harmonyos·鸿蒙系统
xx~t12 小时前
嵌入式——单片机2
嵌入式硬件·学习·51单片机·串口·蜂鸣器
JNX_SEMI12 小时前
OC5138T 8V~100V超宽输入降压恒流驱动:覆盖12V汽车至72V电动车全场景
单片机·嵌入式硬件
xx~t13 小时前
嵌入式——51单片机3
linux·c语言·嵌入式硬件·51单片机
Zw-awa13 小时前
重新认识结构体:为什么 STM32 库函数喜欢接收一大包参数
stm32