- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于AVR单片机中的EEPROM和FLASH的区别及使用方法解析
1.EEP ROM介绍
Electrically Erasable Prog rammable Re ad Only Mem ory 电气可拭除可 编程只读存储器
发展过程:ROM – 》 PROM –》 EPROM –》 EEPROM
2.EEPROM和FLASH的区别
2.1 使用上的区别
FLASH用于存放程序,在程序运行过程中不能更改。我们编写的程序是烧录到FLASH中的;
RAM用作程序运行时的数据存储器;
EEPROM用于存放数据,是用来保存掉电后用户不希望丢的数据,开机时用到的参数。运行过程中可以改变。
FLASH是用于存储 程序代码的,有些场合也可能用它来保存数据,当然前提是该 单片机的FLASH工艺是可以自写的(运行中可擦写),但要注意FLASH的擦写次数通常小于一万次,而且通常FLASH只能按块擦除。EEPROM不能用来存程序,通常单片机的指令寻址不能到这个区域。EEPROM的擦写次数应有百万次,而且可以按字节擦写。EEPROM在一个PAGE内是可以任意写的,FLSAH则必须先擦除成BLANK,然后再写入,而一般没有单字节擦除的功能,至少一个扇区擦除。
2.2 结构上的区别
EEPROM和FLASH都是非易失性存储器。
FLASH的全称是FLASH EEPROM,但跟常规EEPROM的操作方法不同。
FLASH 和EEPROM的最大区别是FLASH按扇区操作,EEPROM则按字节操作,二者寻址方法不同,存储单元的结构也不同,FLASH的电路结构较简单,同样容量占 芯片面积较小,成本自然比EEPROM低,因而适合用作程序存储器,EEPROM则更多的用作非易失的数据存储器。当然用FLASH做数据存储器也行,但操作比EEPROM麻烦的多,所以更“人性化”的 MCU设计会集成FLASH和EEPROM两种非易失性存储器,而廉价型设计往往只有 FLASH,早期可电擦写型MCU则都是EEPRM结构,现在已基本上停产了。
3.EEPROM的使用方法
AVRGCC里面自带有EEPROM读写函数。
使用时需包含头文件#include ,部分读写函数如下:
#define eeprom_is_ready() bit_is_clear(EECR, EEWE)// 检测EEPROM是否准备好。OK返回1(返回EEWE位)
#define eeprom_busy_w ait() do {} while (!eeprom_is_ready())//等待EEPROM操作完成
ex tern uint8_t eeprom_read_byte (const uint8_t *addr);//读取指定地址的一个字节8bit的EEPROM数据
extern uint16_t eeprom_read_word (const uint16_t *addr);//读取指定地址的一个字16bit的EEPROM数据
extern void eeprom_read_block (void *buf, const void *addr, size_t n);//读取由指定地址开始的指定长度的EEPROM数据
extern void eeprom_write_byte (uint8_t *addr, uint8_t val);//向指定地址写入一个字节8bit的EEPROM数据
extern void eeprom_write_word (uint16_t *addr, uint16_t val);//向指定地址写入一个字16bit的EEPROM数据
通过串口向单片机发送配置命令,单片机收到指令后,利用函数write_EEPROM_config()将相应的配置信息存放于EEPROM中。系统初始化时,利用函数read_EEPROM_config()从EEPROM中取出相应的数据,用于系统的初始化。
您可能关注的文档
- 意大利欧玛尔OMAL气动执行器的基本构成.doc
- 筹备DTC品牌的4个低成本步骤.doc
- 亚马逊店铺快速出单的方法!.doc
- 无菌检查所用到的集菌仪的保养手册.doc
- 扣非净利亏损5.5亿,LED芯片龙头的“新出路”何在?.doc
- 基于STM32中调试与串口之间的信息传输.doc
- 卖家如何在美客多上传产品.doc
- 神州B1级保温管耐火极限多少度.doc
- 店铺产品做活动送本品牌礼品是否侵权.doc
- Amazon卖家如何联系客服.doc
- 2025年学历类自考护理管理学-社会学概论参考题库含答案解析.docx
- 2026年苏州狮山创新投资有限公司公开招聘备考题库及答案详解(最新).docx
- 2025年辽阳职业技术学院单招笔试英语试题库含答案解析.docx
- 2026年苏州狮山创新投资有限公司公开招聘备考题库及答案详解一套.docx
- 2025年中国海上溢油应急处理市场调查报告.docx
- 2026年苏州绕城高速公路有限公司公开招聘备考题库及答案详解一套.docx
- 2025年学历类自考行政管理学-中国现代文学作品选参考题库含答案解析.docx
- 2025年储能技术应用前景与商业模式分析报告.docx
- 阅读与思考课件.pptx
- 2026年苏州绕城高速公路有限公司公开招聘备考题库及答案详解(最新).docx
原创力文档


文档评论(0)