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.mzph.cn/news/116429.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023.10.22 关于 定时器(Timer) 详解

目录 引言 标准库定时器使用 自己实现定时器的代码 模拟实现的两大方面 核心思路 重点理解 自己实现的定时器代码最终代码版本 引言 定时器用于在 预定的时间间隔之后 执行特定的任务或操作 实例理解: 在服务器开发中,客户端向服务器发送请求&#…

Spring Cloud 之 GateWay简介及简单DEMO的搭建

(1)Filter(过滤器): 和Zuul的过滤器在概念上类似,可以使用它拦截和修改请求,并且对上游的响应,进行二次处理。过滤器为org.springframework.cloud.gateway.filter.GatewayFilter类的…

微信小程序WeUI项目weui-miniprogram如何运行起来?

微信小程序WeUI项目weui-miniprogram如何运行起来? 解决方法: 1、下载 https://github.com/wechat-miniprogram/weui-miniprogram 2、在项目根目录weui-miniprogram-master执行以下命令安装依赖: npm install 3、继续执行编译命令: npm r…

Unity3D 基础——鼠标悬停更改物体颜色,移走恢复

方法介绍 【unity学习笔记】OnMouseEnter、OnMouseOver、OnMouseExit_unity onmouseover_一白梦人的博客-CSDN博客https://blog.csdn.net/a1208498468/article/details/117856445 GetComponent()详解_getcomponet<> 动态名称-CSDN博客https://blog.csdn.net/kaixindrag…

C# 写入文件比较

数据长度&#xff1a;128188个long BinaryWriter每次写一个long 耗时14.7828ms StreamWriter每次写一个long 耗时44.0934 ms FileStream每次写一个long 耗时20.5142 ms FileStream固定chunk写入&#xff0c;循环操作数组&#xff0c;耗时13.4126 ms byte[] chunk new byte[d…

国际物流报关流程

国际物流报关流程如下&#xff1a; 准备资料&#xff1a;根据国家和地区的要求&#xff0c;准备相关的报关资料&#xff0c;包括进出口货物清单、运输合同、发票、装箱单等文件。 海关申报&#xff1a;将准备好的报关资料递交给海关申报&#xff0c;海关会根据报关单上的信息对…

1. 前缀码判定

题目 前缀码&#xff1a;任何一个字符的编码都不是同一字符集中另一个字符的编码的前缀。 请编写一个程序&#xff0c;判断输入的n个由1和0组成的编码是否为前缀码。如果这n个编码是前缀码&#xff0c;则输出"YES”&#xff1b;否则输出第一个与前面编码发生矛盾的编码。…

牛客网刷题-(2)

&#x1f308;write in front&#x1f308; &#x1f9f8;大家好&#xff0c;我是Aileen&#x1f9f8;.希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指正&#xff01;共同学习交流. &#x1f194;本文由Aileen_0v0&#x1f9f8; 原创 CSDN首发&#x1f412; 如…

jvm垃圾回收算法有哪些及原理

目录 垃圾回收器1 Serial收集器2 Parallel收集器3 ParNew收集器4 CMS收集器5 G1回收器三色标记算法标记算法的过程三色标记算法缺陷多标漏标 垃圾回收器 垃圾回收机制&#xff0c;我们已经知道什么样的对象会成为垃圾。对象回收经历了什么——垃圾回收算法。那么谁来负责回收垃…

华为云 CodeArts Snap 智能编程助手 PyCharm 插件安装与使用指南

1 插件安装下载 1.1 搜索插件 打开 PyCharm&#xff0c;选择 File&#xff0c;点击 Settings。 选择 Plugins&#xff0c;点击 Marketplace&#xff0c;并在搜索框中输入 Huawei Cloud CodeArts Snap。 1.2 安装插件 如上图所示&#xff0c;点击 Install 按钮安装 Huawei Cl…

2. 计算WPL

题目 Huffman编码是通信系统中常用的一种不等长编码&#xff0c;它的特点是&#xff1a;能够使编码之后的电文长度最短。 更多关于Huffman编码的内容参考教材第十章。 输入&#xff1a; 第一行为要编码的符号数量n 第二行&#xff5e;第n1行为每个符号出现的频率 输…

npm install报错 缺少python

报错信息&#xff1a; Building:E:tolsnvmnodesnodeexe : ode emos ant-desig-we-eos odemodules node-gypbintnode-gp.s rebld -verbose -Libsass_ext --Libsas_cflags- lags --libsass_librarygyp info it worked if it ends with ok gyp verb cli [ gyp verb cliE: toolsnv…

一步一步认知机器学习

1&#xff0c;前言 之前学习并且实操了一些算法框架用来探索相关方向的可能性&#xff0c;但是总不了解相关的步骤。因为一步一步按照别人给出的步骤去操作&#xff0c;解决一些操作时出现的问题&#xff0c;基本可以达到目的。但是这个也基本限制了在那个框架而已。对于算法还…

Socket 是什么? 总结+详解

文章摘要&#xff1a;Socket 套接字 编程接口 netstat-ano 创建 建立连接 断开 删除 1.Socket 是什么 Socket &#xff1a;套接字&#xff08;socket&#xff09;是一个抽象层&#xff0c;应用程序可以通过它发送或接收数据&#xff0c;可对其进行像对文件一样的打开、读写和…

SpringBoot的日志系统(日志分组、文件输出、滚动归档)

[toc](目录) > SpringBoot3需要jdk17 # 1. 简介 1. Spring5及以后Spring自己实现了commons-logging&#xff0c;来作为内部的日志。日志的jar包是org.springframework:spring-jcl:6.0.10。查看org.apache.commons.logging.LogAdapter Java package org.apache.commons.log…

如何把Elasticsearch中的数据导出为CSV格式的文件

前言| 本文结合用户实际需求用按照数据量从小到大的提供三种方式从ES中将数据导出成CSV形式。本文将重点介Kibana/Elasticsearch高效导出的插件、工具集&#xff0c;通过本文你可以了解如下信息&#xff1a; 1&#xff0c;从kibana导出数据到csv文件 2&#xff0c;logstash导…

VMware vCenter Server 6.7安装过程记录

0、前言 最近由于一些原因需要安装测试VMware ESXi&#xff0c;无奈所有服务器都是十几年前的&#xff0c;配置低也不支持。后来通过VMware兼容性列表查询&#xff0c;快要放弃的时候发现唯一一台Dell R420&#xff0c;如获至宝。通过查询得知最高支持到6.5 U3&#xff0c;好在…

十三水中各种牌型判断LUA版

近期回归程序行业&#xff0c;由于业务需求需要做十三水游戏&#xff0c;什么是十三水就不在多讲&#xff0c;下面是判断十三水牌型的方法&#xff08;带大小王&#xff09; GetSSSPaiType {}; local this GetSSSPaiType; local huaseTable {}; local numTable {}; functi…

在亚马逊购买产品时怎么选择自动收货方式

在亚马逊购买产品时&#xff0c;通常可以在下单时选择不同的收货方式&#xff0c;包括自动收货方式。以下是一般的购买流程&#xff1a; 登录亚马逊账号&#xff1a;打开网站&#xff0c;登录账号&#xff0c;如果没有账号&#xff0c;可以先创建一个。 浏览和添加商品&#…

SpringBoot原理篇

SpringBoot原理篇 ​ 其实从本人的角度出发&#xff0c;看了这么多学习java的小伙伴的学习过程&#xff0c;个人观点&#xff0c;不建议小伙伴过早的去研究技术的原理。原因有二&#xff1a;一&#xff0c;先应用熟练&#xff0c;培养技术应用的条件反射&#xff0c;然后再学原…