STM32学习笔记--SPI初始化与数据收发(01)

1、作用

通过SPI链接片上FLASH外设W25Q64(相当于一个移动硬盘):

2、W25Q64原理图

3、接线图

4、SPI模式选择

PB3 -> SCK 复用输出推挽 2MHz

PB4 -> MISO 输入上拉 /

PB5-> MOSI 复用输出推挽 2MHz

PA15->普通IO 通用输出推挽 2MHz

5、SPI初始化

5.2通信方向

1. 2 线全双工(SPI_Direction_2Lines_FullDuplex
  • 硬件连接:MOSI、MISO、SCK、NSS 全部使用(标准 SPI 格式)
  • 特点 :主机和从机可同时收发数据,是最常用的 SPI 模式
2. 2 线只读(SPI_Direction_2Lines_ReadOnly
  • 硬件连接:保留 MOSI、MISO、SCK、NSS,但方向为只读
  • 特点:主机仅接收数据(从机发送),一般用于从机设备只输出数据的场景
3. 1 线发送(SPI_Direction_1Line_Tx
  • 硬件连接:MOSI 与 MISO 复用为 1 根单线,SCK、NSS 保留
  • 特点 :半双工,主机仅发送数据,不接收,单线承担发送功能
4. 1 线接收(SPI_Direction_1Line_Rx
  • 硬件连接:同 1 线发送,单线复用

5.3数据宽度

5.4 极性与相位

极性:SCK在空闲状态下是高电位则是1,低电位则是0

相位:接收方在什么时候对数据进行采集

5.5 比特位传输顺序

6、W25Q64模式选择

5.6 比特率选择

选择64分频

cpp 复制代码
	// #2 对SPI本身进行初始化
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_SPI1,ENABLE);

	SPI_InitTypeDef SPI_InitStructure;

	SPI_InitStructure.SPI_Direction = SPI_Direction_2Lines_FullDuplex;
	SPI_InitStructure.SPI_Mode = SPI_Mode_Master;
	SPI_InitStructure.SPI_DataSize = SPI_DataSize_8b;
	SPI_InitStructure.SPI_CPOL = SPI_CPOL_High;
	SPI_InitStructure.SPI_CPHA = SPI_CPHA_2Edge;
	SPI_InitStructure.SPI_FirstBit = SPI_FirstBit_MSB;
	SPI_InitStructure.SPI_BaudRatePrescaler = SPI_BaudRatePrescaler_64;

6、NSS配置

分为两种,一种是软一种是硬

硬件NSS通过外置3.3v的高电压,来确定哪个是主机哪个是从机

设置软NSS:

cpp 复制代码
SPI_InitStructure.SPI_NSS = SPI_NSS_Soft;

向内部NSS写1则等同为外置3.3v高电压,写0则为低电压

cpp 复制代码
SPI_NSSInternalSoftwareConfig(SPI1,SPI_NSSInternalSoft_Set);

7、SPI收发数据原理图

相关推荐
香辣牛肉饭3 小时前
【算法】动态规划 最长公共子序列(LCS)
经验分享·笔记·算法·动态规划
迷途呀3 小时前
Python:函数中的参数类型
开发语言·笔记·python·langchain·nlp
YM52e3 小时前
鸿蒙Flutter Center居中组件:Align对齐详解
android·学习·flutter·华为·harmonyos·鸿蒙
十月的皮皮4 小时前
stm20260720-从新手 C 到量产 STM32 工程:程序设计推导指南
c语言·开发语言·stm32·stm32cubemx·hal库
依然范特东4 小时前
动手学深度学习笔记--卷积层、微调
人工智能·笔记·深度学习
开发笔记-阿牛4 小时前
解析一款有意思的产品||CK6159A语音芯片设计的儿童专注力训练机-舒尔特玩具
stm32·单片机·嵌入式硬件·音频
金伟API10245 小时前
SQL Server基础学习笔记
笔记·学习
MartinYeung55 小时前
[论文学习]MiCA:比LoRA和全参数微调学到更多知识
深度学习·学习·机器学习
砚凝霜6 小时前
软考网络工程师|第 1 章 计算机网络基础 完整备考笔记
网络·笔记·计算机网络
浮江雾6 小时前
Flutter第十节-----Flutter布局与组件全解析
android·开发语言·前端·学习·flutter·入门