STM32驱动W25Q64---笔记
这次来分享最近经常用到的知识点----FLASH
初学者会疑惑,有了EEPROM为什么还要用W25Q64呢?(笔者一开始就百思不得其解)
答:
EEPROM和W25Q64都是用于数据存储的存储器,它们各有优缺点,需要根据具体应用场景选择适合的存储器。
EEPROM(Electrically Erasable Programmable Read-Only Memory)是一种非易失性存储器,可以实现对少量数据的读写,例如存储一些配置参数、校准系数等。EEPROM的主要优点在于:
低功耗:EEPROM的进行数据读写时消耗的功耗比较低。
容量小:EEPROM的容量相对较小,一般在几千字节到几十KB之间。
随机访问:EEPROM可以随机访问任意地址的数据。
数据可靠性高:由于EEPROM是非易失性存储器,所以它的数据可以长时间保持,并且不会因为断电或者其它故障导致数据丢失。
而W25Q64是一种闪存存储器,它主要用于存储大量数据,例如程序代码、文件系统等。W25Q64的主要优点在于:
大容量:W25Q64的容量通常达到数MB甚至数十MB。
快速读写:W25Q64的读写速度比EEPROM快很多,能够满足更高速度的数据存储需求。
顺序读写:W25Q64的操作基于页面(page)而不是字节,所以它的读写速度比EEPROM更快。
因此,如果您需要存储大量数据或者实现更高速度的数据存取,那么W25Q64是一个更好的选择。反之,如果您只需要存储少量数据并且需要随机访问这些数据,那么EEPROM可能会更适合。
注:上面的问Chatgpt的回答。
下面来大致的认识一下它,我们看下 SPI 内部结构简易图,如下图所示:
SPI 接口一般使用 4 条线通信,事实上只需 3 条线也可以进行 SPI 通信(单向传输时),其中 3 条为 SPI 总线(MISO、MOSI、SCLK),一条为 SPI 片选信号线(CS)。它们的作用如下:
MISO:主设备输入/从设备输出引脚。主机从这条信号线读入数据,从机的数据由这条信号线输出到主机,即在这条线上数据的方向为从机到主机。
MOSI:主设备输出/从设备输入引脚。主机的数据从这条信号线输出,从机由这条信号线读入主机发送的数据,即这条线上数据的方向为主机到从机。
SCLK:时钟信号线,用于通信数据同步。它由主机产生,决定了通信的速率,不同的设备支持的最高时钟频率不一样,如 STM32 的 SPI 时钟频率最大为fpclk/2,两个设备之间通讯时,通讯速率受限于低速设备。
CS:从设备选择信号线,常称为片选信号线,也称为 NSS 或 CS。
SPI 使用 MOSI 及 MISO 信号线来传输数据,使用 SCK 信号线进行数据同步。 MOSI 及 MISO 数据线在 SCK 的每个时钟周期传输一位数据,且数据输入输出是同时进行的。数据传时, MSB 先行或 LSB 先行并没有作硬性规定,但要保证两个 SPI 通讯设备之间使用同样的协定,一般都会采用 MSB 先行模式。
SPI 主要特点有:可以同时发出和接收串行数据;可以当作主机或从机工作;提供频率可编程时钟;发送结束中断标志;写冲突保护;总线竞争保护等。
与 I2C 总线相比它的缺点是:没有指定的流控制,没有应答机制确认是否接收到数据。
待续...
STM32驱动W25Q64---笔记相关推荐
- stm32 u8g2移植笔记
STM32 u8g2 移植笔记 前言 当初想写一个单色屏菜单时,曾移植过u8g2到STM32平台(这里用的是keil MDK),不过当时一直有一个问题没有搞懂:为什么u8g2用在flash为32k,r ...
- 【STM32训练—WiFi模块】第一篇、STM32驱动ESP8266WiFi模块获取网络时间
目录 第一部分.写在前面 1.硬件准备 2.相关的AT指令 3.参考博客 第二部分.电脑串口助手调试ESP8266模块获取网络时间 1.ESP8266获取时间的流程 2.具体实现步骤 第三部分.STM ...
- STM32驱动HC-SR04超声波模块
STM32学习笔记--HC-SR04超声波测距模块 碰巧学校老师要求做个HC-SR04超声波的实验,笔者在完成实验报告的同时,也顺带完成一篇STM32驱动超声波模块记录. HC-SR04模块使用 ST ...
- STM32 FSMC学习笔记+补充(LCD的FSMC配置)
STM32 FSMC学习笔记+补充(LCD的FSMC配置) STM32 FSMC学习笔记 STM32 FSMC的用法--LCD 转载于:https://www.cnblogs.com/LittleTi ...
- 关于STM32驱动DS1302实时时钟的一点思考
关于STM32驱动DS1302实时时钟的一点思考 之前用51驱动过DS1302,没用多久就输出了正确的时间.当时以为这块芯片其实没啥,很简单.但是现在用STM32做项目,用到同样的芯片,以为这有何难, ...
- stm32官方例程在哪找_正点原子Linux第十一章模仿STM32驱动开发格式实验
1)资料下载:点击资料即可下载 2)对正点原子Linux感兴趣的同学可以加群讨论:935446741 3)关注正点原子公众号,获取最新资料更新 第十一章模仿STM32驱动开发格式实验 在上一章使用C语 ...
- ARM(IMX6U)裸机模仿STM32驱动开发实验(定义外设结构体)
参考:Linux之ARM(IMX6U)裸机模仿STM32驱动开发格式 作者:一只青木呀 发布时间: 2020-08-15 12:11:56 网址:https://blog.csdn.net/weixi ...
- 转载:mongoDB java驱动学习笔记
http://www.blogjava.net/watchzerg/archive/2012/09/22/388346.html mongoDB java驱动学习笔记 指定新mongo实例: Mong ...
- stm32读取目标芯片_使用stm32驱动RC522读IC卡(代码留言邮箱)
RC522与PN532简介 关于STM32驱动方式 接线说明 程序烧录 查看卡号 总结 RC522与PN532简介 在写这篇文章之前有写过一篇有关于PN532的文章,RC522与PN532在使用上都可 ...
- STM32驱动LCD实战
目录 01 驱动时序 02 FSMC外设配置 03 背光驱动 04 复位驱动 05 寄存器配置 前段时间写了<STM32驱动LCD原理>和<STM32的FSMC外设简介>两篇文 ...
最新文章
- CUDA Samples: ripple
- 10秒一部电影,全球首个5G数据连接完成
- matlab中textread
- 涨姿势:另类的表情域名赚钱大法!!
- c++ 多重背包状态转移方程_背包问题之零钱兑换
- 监听器使用spring的bean
- P1306-斐波那契公约数【矩阵乘法,数论】
- Java 8的新增功能(第I部分-JavaFX)
- 使用data-自定义数据及如何获取该值
- [转]自定义SqlMembershipProvider方法
- 4.4.2 数值处理
- linux 安装rpm qt can't creat,CentOS 6.2部署Qt开发环境
- C++中指针和引用的区别与联系
- 厉害!你的 CT 片子,AI 就能分析
- 《算法设计》求单峰数组
- 遥感数据下载网站整理
- Unity3D:HTTP请求模块
- 射极跟随器负载加重解析
- 哈希摘要、证书、对称密钥、公私密钥应用场景梳理
- 从一个编程老菜鸟来看Delphi的优点
热门文章
- 【python学习】python断言assert-30
- 纯JS导入导出文件(XLSX)
- mysql 查询两个字段相同的数据_sql语句如何查询一个表中某两个字段的相同数据?...
- python实现md5算法_MD5算法详述及python实现2 zz
- 3dmax-二维编辑命令
- notEmpty和notFull的意思
- 蓝筹程序员是如何炼成的?
- 15个魔术方法的总结
- 千年修道一年成魔。 扭曲事态甚是可笑。值此乱世 以魔修道。
- matlab 最优资产组合,[转载]资产组合有效前沿的解和最优解(MATLAB语言)