当前位置: 首页 > news >正文

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数据手册(英文/中文) 推荐英文原版

主函数

在这里插入图片描述

全部工程获取

查看下方头像

http://www.dtcms.com/a/2951.html

相关文章:

  • RTI-DDS代码分析使用介绍
  • JAVA-编程基础-11-04-java IO 字符流
  • 设计模式-建造者模式
  • 汇编的指令
  • Linux下的命令行参数和环境变量
  • 【Git LFS】huggingface 断点续传
  • 【机器学习】模型平移不变性/等变性归纳偏置Attention机制
  • MATLAB R2023b安装包下载链接及软件安装教程
  • Proteus仿真--一种智能频率计的设计与制作(AVR单片机+proteus仿真)
  • 经典卷积神经网络 - AlexNet
  • 轻松学习Python:基础知识汇总
  • 在 Vue react 中,哪些地方用到闭包?
  • LeetCode--快速排序
  • LVS-DR模式
  • android利用FFmpeg进行视频转换
  • Java中的常量管理:接口还是枚举,您如何选择?
  • 一、XSS加解密编码解码工具
  • c语言练习91:合并两个有序链表
  • 使用WPF模仿Windows记事本界面
  • 【单片机学习笔记】Windows+Vscode+STM32F4+freeRTOS+FatFs gcc环境搭建
  • 大学英语试卷
  • 数组的初始化以及拷贝
  • 使用GoogleNet网络实现花朵分类
  • 在Kubernetes(k8s)上部署整个SpringCloud微服务应用
  • Java IO流
  • 从零开始搭建第一个django项目
  • 使用序列化技术保存数据 改进 IO流完成项目实战水果库存系统
  • Kotlin中的内联函数:提升性能与解决Lambda表达式参数问题
  • 模拟器-雷电-使用adb push或adb pull操作文件
  • Android Studio初学者实例:RecyclerView学习--模仿今日头条--续