单片机中有FLASH为啥还需要EEROM?

server/2025/2/28 16:58:13/

单片机里同时存在Flash和EEPROM,主要是因为它们在存储特性和使用场景上有本质区别:

1. 写数据方式不同:

  • Flash像黑板擦:改一个字就要擦掉整个扇区(比如4KB),再重新写一遍。频繁改小数据时效率低,容易磨损。
  • EEPROM像铅笔:能直接擦改单个字节,适合频繁修改小数据(比如闹钟时间、计数器)。

2. 寿命差距大:

  • Flash擦写约1万次就报废,EEPROM能扛100万次。如果你用Flash存每天要改100次的数据,3个月就坏了,而EEPROM能用27年。

3. 操作复杂度:

  • 用Flash存数据需要自己搞"搬运工"算法(比如存数据前先备份整个扇区),代码复杂还容易出错。EEPROM直接调用现成函数就能读写。

举个实际例子:
ATmega328P(Arduino常用芯片)的32KB Flash主要存程序代码(很少修改),1KB EEPROM用来存用户设置(比如智能家居的WiFi密码、温控阈值)。如果强行用Flash存密码,每次修改都要折腾整个扇区,既麻烦又容易把芯片写报废。

补充冷知识:
有些廉价单片机用Flash模拟EEPROM,但需要牺牲额外空间做磨损均衡(类似SSD原理)。对于328P这种经典芯片,直接配独立EEPROM反而是性价比更高的选择。


http://www.ppmy.cn/server/171334.html

相关文章

深入了解 NAT 模式:网络地址转换的奥秘

深入了解 NAT 模式:网络地址转换的奥秘 在计算机网络的世界里,NAT 模式(Network Address Translation,网络地址转换)扮演着至关重要的角色。它就像是网络中的翻译官,在不同网络地址之间进行转换&#xff0…

【附源码】基于opencv+pyqt5搭建的人脸识别系统

文章目录 前言一、人脸检测二、人脸识别1.训练识别器2.识别人脸 三、界面相关1.Qlabel展示图片2.表格跟随内容而增加和减少3.选择图片文件4.警告框 四、源码获取总结 前言 人脸识别技术作为人工智能领域的一颗璀璨明珠,正逐渐渗透到我们生活的每一个角落&#xff0…

vue3使用iframe全屏展示pdf效果

最近的一个功能是编写一个pdf展示的组件,外部传入pdf的链接,根据这个功能,可以使用iframe去展示pdf,目前主要是将预览pdf的样式调整成与屏幕宽高一样 1.pdf使用iframe 2.使用translate将这个组件,使用to属性将目标元素…

一周学会Flask3 Python Web开发-Jinja2模板继承和include标签使用

锋哥原创的Flask3 Python Web开发 Flask3视频教程: 2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili 不管是开发网站还是后台管理系统,我们页面里多多少少有公共的模块。比如博客网站,就有公共的头部&…

Linux上用C++和GCC开发程序实现不同PostgreSQL实例下单个数据库的多个Schema之间的稳定高效的数据迁移

设计一个在Linux上运行的GCC C程序,同时连接两个不同的PostgreSQL实例,两个实例中分别有一个数据库的多个Schema的表结构完全相同,复制一个实例中一个数据库的多个Schema里的所有表的数据到另一个实例中一个数据库的多个Schema里,…

BUG日志:使用热点或免费加速器时git链接github出现端口22拒绝访问的解决方法

问题描述 现象:git 连接 GitHub 时,报错 Connection refused on port 22。触发条件: 使用移动热点或免费加速器时必现。使用正常 Wi-Fi 时不出现。 解决步骤 临时切换为 HTTPS 协议(绕过 22 端口): git r…

波导阵列天线 学习笔记11双极化全金属垂直公共馈电平板波导槽阵列天线

摘要: 本communicaition提出了一种双极化全金属垂直公共馈电平板波导槽阵列天线。最初提出了一种公共馈电的单层槽平板波导来实现双极化阵列。此设计消除了传统背腔公共馈电的复杂腔体边缘的必要性,提供了一种更简单的天线结构。在2x2子阵列种发展了宽十…

推荐一款uniapp的日历插件魔改版可显示阳历阴历农历公历

上图: 1.下载 https://download.csdn.net/download/ktucms/90436225 2.调用,解压后,放到根目录就行了。 js js methds: et_rlbox_clear:function () {var thatthis;that.pdata.datestr_start"";that.pdata.datestr_end"";},et_ch…