2023版 STM32实战11 SPI总线读写W25Q

SPI全称

英文全称:Serial peripheral Interface 串行外设接口

SPI特点

-1- 串行(逐bit传输)

-2- 同步(共用时钟线)

-3- 全双工(收发可同时进行)

-4- 通信只能由主机发起(一主,多从机)

开发使用习惯和理解

-1- CS片选一般配置为软件控制

-2- 片选低电平有效,从器件CS引脚可直接连接GND

-3- 从机不能主动给主机发数据

-4- 主机想要(接收数据)得在(主动发送数据)的同时(接收数据)

-5- MSB这个词很常用,只需要理解为高位先收发(左高右低)

-6- SPI单向通信只需要3根线(MOSI && SCK && CS) &&只是符号可忽略

-7- SPI双向通信则需要4根线(MOSI && MISO && SCK && CS)

CPOL时钟极性和CPHA时钟相位的

CPOL理解为时钟空闲时候的电平状态(0代表空闲为低电平,1代表高电平)

CPOH理解为收发数据的边沿(0代表第一个边沿,1代表第二个边沿)

SPI的四种模式(如下图)

W25Q介绍

一种为有限的系统空间提供存储方案的芯片,使用SPI总线通信

W25Q电路图

W25Q引脚定义

-1- CS

-2- MISO

-3- 3.3V

-4- GND

-5- MOSI

-6- SCK

-7- 3.3V

-8- 3.3V

关于如何查询芯片引脚?(打开STM32手册)

W25Q编程注意事项

-1- 写入数据,擦除数据前需要写使能,写入数据,擦除数据后需要写失能

-2- 一次最多写入256字节,如果超过则往前覆盖,255-256-0-1-2

-3- 读取数据不用开写使能

编程思路

参考W25Q数据手册(英文/中文) 推荐英文原版

主函数

全部工程获取

查看下方头像

相关推荐
代码村新手6 小时前
数据结构-链表
1024程序员节
第七序章6 小时前
【C + +】C++11 (下) | 类新功能 + STL 变化 + 包装器全解析
c语言·数据结构·c++·人工智能·哈希算法·1024程序员节
努力学习的小廉9 小时前
初识MYSQL —— 基本查询
数据库·mysql·1024程序员节
码力引擎12 小时前
【零基础学MySQL】第四章:DDL详解
数据库·mysql·1024程序员节
少林码僧12 小时前
1.1 大语言模型调用方式与函数调用(Function Calling):从基础到实战
人工智能·ai·语言模型·自然语言处理·llm·1024程序员节
胖虎112 小时前
Swift项目生成Framework流程以及与OC的区别
framework·swift·1024程序员节·swift framework
纵有疾風起18 小时前
C++—string(1):string类的学习与使用
开发语言·c++·经验分享·学习·开源·1024程序员节
kitsch0x971 天前
论文学习_LLM4Decompile: Decompiling Binary Code with Large Language Models
1024程序员节
hazy1k1 天前
51单片机基础-继电器实验
stm32·单片机·嵌入式硬件·51单片机·1024程序员节
Brianna Home1 天前
大模型如何变身金融风控专家
人工智能·深度学习·机器学习·自然语言处理·stable diffusion·1024程序员节