SPI学习

SPI介绍

SPI:串行外设设备接口(Serial Peripheral Interface),是一种高速的,全双工,同步通信总线。

全双工:同一时刻,能同时接收数据和发送数据。

半双工:同一时刻,只能发送或只能接收数据。

  • MOSI:输出数据线
  • MISO:输入数据线
  • SCL:时钟线
  • CS:片选线,用于选中从器件,低电平有效。但IIC是通过在SDA数据线上发送设备地址,进行片选。
  • 传输顺序:IIC只能高位先发。

支持一主多从,并且主机MOSI引脚与从机MOSI引脚相连。

SCK与CS线上的信号都是由主机发出。

SPI接口主要应用在存储芯片,AD转换器以及LCD中。

SPI结构框图

软件管理NSS,硬件上NSS引脚可以另做他用。

SPI外设对应的引脚

STM32芯片有多个SPI外设,每个SPI外设输出的信号会到不同的GPIO口。

STM32F1有三个SPI。

SPI是边沿协议,IIC是电平协议。

全双工,发送数据的同时也会接收到数据。

主机只向从机进行写操作,可以忽略接收到的从机数据。

主机要对从机进行读操作,需要发送一个空数据来引发从机发送数据(作用是给从机时钟)。

SPI工作模式

决定数据的有效性

时钟极性(CPOL):没有数据传输时时钟线的空闲状态电平。

  • 0:SCK在空闲状态保持低电平
  • 1:SCK在空闲状态保持高电平

时钟相位(CPHA):时钟线在第几个时钟边沿采样数据。

  • 0:数据在第一个时钟边沿锁存。
  • 1:数据在第二个时钟边沿锁存。

SPI相关寄存器




SPI相关HAL库驱动介绍

修改SPI速度,先使能,修改寄存器里的内容后,再使能。

相关推荐
糖糖单片机设计8 分钟前
基于 STM32 的植物生长环境监控系统
stm32·单片机·嵌入式硬件
创界工坊工作室31 分钟前
56-基于STC89C52的智能声控饮水机设计
stm32·单片机·嵌入式硬件·51单片机·proteus
LCG米35 分钟前
STM32 DMA 多通道链式传输实测:请求仲裁顺序错位根因、半满中断乒乓与高速并发搬运落地
stm32·单片机·嵌入式·1024程序员节
hkj88081 小时前
stm32 ADC DMA 循环模式配合双缓冲分块(Ping-Pong)
stm32·单片机·嵌入式硬件
andrsted2 小时前
练题簿在线免费刷题:让整理过的资料,变成能反复练习的题库
学习·微信小程序·小程序·学习方法·刷题·1024程序员节
POMAGTOR3 小时前
【磁吸式连接器选型工程解析:结构原理、应用场景与选型可靠性要点】
网络·嵌入式硬件
Alsn863 小时前
Windows 安装 Ollama 及本地模型部署
学习·1024程序员节
RFID科技的魅力4 小时前
2026 年 RFID 资产标签批量制作怎么做?RFID 标签打印机实操指南
运维·人工智能·嵌入式硬件·物联网
欣欣之王来了4 小时前
原始HTML插值:v-html指令的使用与安全风险
前端·学习·架构·项目·vue3教程
Lxx_Zw6 小时前
机器周期与共地:时钟基准和电压参考基准
stm32·单片机·嵌入式硬件