搜索
bottom↓
回复: 10

AVR新手请教EEPROM问题!

[复制链接]

出0入0汤圆

发表于 2009-5-5 16:42:00 | 显示全部楼层 |阅读模式
刚刚接触AVR单片机,用ATmega8做了一个东西。由于有些数据需要永久保存,所以考虑将其存入内部EEPROM中,
但问题是不知道该如何在CodeVisionAVR C开发环境中定义固定的变量存储地址。望各位高手能不吝赐教!
                                 谢谢!!

出0入0汤圆

 楼主| 发表于 2009-5-5 16:42:51 | 显示全部楼层
再补充一下,是要定义数组变量的EEPROM存储地址!谢谢

出0入0汤圆

发表于 2009-5-5 18:55:15 | 显示全部楼层
ICCAVR 与CodeVision AVR 都具有应用程序向导。用应用程序向导,不需要自己去考虑。

出0入0汤圆

 楼主| 发表于 2009-5-5 19:25:37 | 显示全部楼层
谢谢,但是在唉应用想到里没有相关的设置啊?还请指教!

出0入0汤圆

发表于 2009-5-6 02:05:49 | 显示全部楼层
查看CVAVR的HELP。这是基本要求和素质。

Accessing the AVR internal EEPROM is accomplished using global variables, preceded by the keyword eeprom.

Example:

/* The value 1 is stored in the EEPROM during chip programming */

eeprom int alfa=1;

eeprom char beta;

eeprom long array1[5];

/* The string is stored in the EEPROM during chip programming */

eeprom char string[]="Hello";

void main(void) {
int i;

/* Pointer to EEPROM */
int eeprom *ptr_to_eeprom;

/* Write directly the value 0x55 to the EEPROM */
alfa=0x55;

/* or indirectly by using a pointer */

ptr_to_eeprom=&alfa;

*ptr_to_eeprom=0x55;

/* Read directly the value from the EEPROM */
i=alfa;
/* or indirectly by using a pointer */
i=*ptr_to_eeprom;
}

Pointers to the EEPROM always use 16 bits.

出0入0汤圆

 楼主| 发表于 2009-5-6 17:46:13 | 显示全部楼层
谢谢马潮老师,不过请问如果直接将数据存在eeprom中的话,掉电以后里面的数据能保存吗?不能的话需要怎样做呢?谢谢

出0入0汤圆

发表于 2009-5-8 09:23:45 | 显示全部楼层
知道EEPROM的特性吗?

出0入0汤圆

 楼主| 发表于 2009-5-11 20:03:38 | 显示全部楼层
不是太清楚,只是因为有一些处理过程的数据需要永久保存。请问该怎么做呢?还望不吝赐教!

出0入0汤圆

发表于 2009-5-13 05:01:18 | 显示全部楼层
佩服马老师的耐心啊

出0入0汤圆

发表于 2009-5-20 21:12:09 | 显示全部楼层
以下为EEPROM介绍来自网络:

EEPROM,或称 E2PROM,全称“電可擦除可編程只读内存 (Electrically-Erasable Programmable Read-Only Memory)”。相比 EPROM,EEPROM 不需要用紫外线照射,也不需取下,就可以用特定的电压,来擦除芯片上的信息,以便写入新的數據。

EEPROM 有四种工作模式:读取模式、写入模式、擦除模式、校驗模式。读取时,芯片只需要 Vcc 低电压(一般+5V)供电。編程写入时,芯片通过 Vpp(一般+25V)获得編程电压,并通过 PGM 編程脉冲(一般50ms)写入數據。擦除时,只需使用 Vpp 高电压,不需要紫外线,便可以擦除指定地址的内容。为保证編程写入正确,在每写入一块數據后,都需要进行类似于读取的校驗步骤,若错误就重新写入。

由于 EEPROM 的优秀性能,以及在线上操作的便利,它被广泛用于需要经常擦除的 ROM 芯片以及闪存芯片,并逐步替代部分有断电保留需要的 RAM 芯片。它与高速 RAM 成为当前(21 世纪 00 年代)最常用且发展最快的两种存储技术。

他可以直接利用电气讯号来更新程式,所以比 EPROM 更方便。

出0入0汤圆

发表于 2009-10-22 17:54:35 | 显示全部楼层
很好
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-2 16:29

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表