这次来分享最近经常用到的知识点----FLASH

初学者会疑惑,有了EEPROM为什么还要用W25Q64呢?(笔者一开始就百思不得其解)

答:

EEPROM和W25Q64都是用于数据存储的存储器,它们各有优缺点,需要根据具体应用场景选择适合的存储器。

EEPROM(Electrically Erasable Programmable Read-Only Memory)是一种非易失性存储器,可以实现对少量数据的读写,例如存储一些配置参数、校准系数等。EEPROM的主要优点在于:

  1. 低功耗:EEPROM的进行数据读写时消耗的功耗比较低。

  2. 容量小:EEPROM的容量相对较小,一般在几千字节到几十KB之间。

  3. 随机访问:EEPROM可以随机访问任意地址的数据。

  4. 数据可靠性高:由于EEPROM是非易失性存储器,所以它的数据可以长时间保持,并且不会因为断电或者其它故障导致数据丢失。

而W25Q64是一种闪存存储器,它主要用于存储大量数据,例如程序代码、文件系统等。W25Q64的主要优点在于:

  1. 大容量:W25Q64的容量通常达到数MB甚至数十MB。

  2. 快速读写:W25Q64的读写速度比EEPROM快很多,能够满足更高速度的数据存储需求。

  3. 顺序读写: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---笔记相关推荐

  1. stm32 u8g2移植笔记

    STM32 u8g2 移植笔记 前言 当初想写一个单色屏菜单时,曾移植过u8g2到STM32平台(这里用的是keil MDK),不过当时一直有一个问题没有搞懂:为什么u8g2用在flash为32k,r ...

  2. 【STM32训练—WiFi模块】第一篇、STM32驱动ESP8266WiFi模块获取网络时间

    目录 第一部分.写在前面 1.硬件准备 2.相关的AT指令 3.参考博客 第二部分.电脑串口助手调试ESP8266模块获取网络时间 1.ESP8266获取时间的流程 2.具体实现步骤 第三部分.STM ...

  3. STM32驱动HC-SR04超声波模块

    STM32学习笔记--HC-SR04超声波测距模块 碰巧学校老师要求做个HC-SR04超声波的实验,笔者在完成实验报告的同时,也顺带完成一篇STM32驱动超声波模块记录. HC-SR04模块使用 ST ...

  4. STM32 FSMC学习笔记+补充(LCD的FSMC配置)

    STM32 FSMC学习笔记+补充(LCD的FSMC配置) STM32 FSMC学习笔记 STM32 FSMC的用法--LCD 转载于:https://www.cnblogs.com/LittleTi ...

  5. 关于STM32驱动DS1302实时时钟的一点思考

    关于STM32驱动DS1302实时时钟的一点思考 之前用51驱动过DS1302,没用多久就输出了正确的时间.当时以为这块芯片其实没啥,很简单.但是现在用STM32做项目,用到同样的芯片,以为这有何难, ...

  6. stm32官方例程在哪找_正点原子Linux第十一章模仿STM32驱动开发格式实验

    1)资料下载:点击资料即可下载 2)对正点原子Linux感兴趣的同学可以加群讨论:935446741 3)关注正点原子公众号,获取最新资料更新 第十一章模仿STM32驱动开发格式实验 在上一章使用C语 ...

  7. ARM(IMX6U)裸机模仿STM32驱动开发实验(定义外设结构体)

    参考:Linux之ARM(IMX6U)裸机模仿STM32驱动开发格式 作者:一只青木呀 发布时间: 2020-08-15 12:11:56 网址:https://blog.csdn.net/weixi ...

  8. 转载:mongoDB java驱动学习笔记

    http://www.blogjava.net/watchzerg/archive/2012/09/22/388346.html mongoDB java驱动学习笔记 指定新mongo实例: Mong ...

  9. stm32读取目标芯片_使用stm32驱动RC522读IC卡(代码留言邮箱)

    RC522与PN532简介 关于STM32驱动方式 接线说明 程序烧录 查看卡号 总结 RC522与PN532简介 在写这篇文章之前有写过一篇有关于PN532的文章,RC522与PN532在使用上都可 ...

  10. STM32驱动LCD实战

    目录 01 驱动时序 02 FSMC外设配置 03 背光驱动 04 复位驱动 05 寄存器配置 前段时间写了<STM32驱动LCD原理>和<STM32的FSMC外设简介>两篇文 ...

最新文章

  1. CUDA Samples: ripple
  2. 10秒一部电影,全球首个5G数据连接完成
  3. matlab中textread
  4. 涨姿势:另类的表情域名赚钱大法!!
  5. c++ 多重背包状态转移方程_背包问题之零钱兑换
  6. 监听器使用spring的bean
  7. P1306-斐波那契公约数【矩阵乘法,数论】
  8. Java 8的新增功能(第I部分-JavaFX)
  9. 使用data-自定义数据及如何获取该值
  10. [转]自定义SqlMembershipProvider方法
  11. 4.4.2 数值处理
  12. linux 安装rpm qt can't creat,CentOS 6.2部署Qt开发环境
  13. C++中指针和引用的区别与联系
  14. 厉害!你的 CT 片子,AI 就能分析
  15. 《算法设计》求单峰数组
  16. 遥感数据下载网站整理
  17. Unity3D:HTTP请求模块
  18. 射极跟随器负载加重解析
  19. 哈希摘要、证书、对称密钥、公私密钥应用场景梳理
  20. 从一个编程老菜鸟来看Delphi的优点

热门文章

  1. 【python学习】python断言assert-30
  2. 纯JS导入导出文件(XLSX)
  3. mysql 查询两个字段相同的数据_sql语句如何查询一个表中某两个字段的相同数据?...
  4. python实现md5算法_MD5算法详述及python实现2 zz
  5. 3dmax-二维编辑命令
  6. notEmpty和notFull的意思
  7. 蓝筹程序员是如何炼成的?
  8. 15个魔术方法的总结
  9. 千年修道一年成魔。 扭曲事态甚是可笑。值此乱世 以魔修道。
  10. matlab 最优资产组合,[转载]资产组合有效前沿的解和最优解(MATLAB语言)