登录 免费注册 首页 | 行业黑名单 | 帮助
维库电子市场网
技术交流 | 电路欣赏 | 工控天地 | 数字广电 | 通信技术 | 电源技术 | 测控之家 | EMC技术 | ARM技术 | EDA技术 | PCB技术 | 嵌入式系统
驱动编程 | 集成电路 | 器件替换 | 模拟技术 | 新手园地 | 单 片 机 | DSP技术 | MCU技术 | IC 设计 | IC 产业 | CAN-bus/DeviceNe

请教关于AVR单片机EEPROM掉电数据丢失的问题!

作者:gsjdan 栏目:单片机
请教关于AVR单片机EEPROM掉电数据丢失的问题!
请教各位用过AVR单片机的兄弟,我用MEGA103或MEGA128的时候,向EPORM中的某一地址写入一值,然后读出来,显示是正确的,但是我将机重新加电后,好象EEPROM中的数值就丢失,读出的数值为0xFF;我用过ICCAVR读写EEPROM的函数和对EEPROM中的寄存器写数和读数,都出现上面的问题,好象掉电后EEPROM中的数值就丢失似的.EEPROM肯定没有坏,我用的是新的MEGA103. 谢谢!!
#include <iom103v.h>
#include <macros.h>
#include <eeprom.h>

void port_init(void)
{
PORTA = 0xFF;
DDRA  = 0xFF;
PORTB = 0xFF;
DDRB  = 0xFF;
PORTC = 0xFF;
PORTD = 0xFF;
DDRD  = 0xFF;
PORTE = 0xFF;
DDRE  = 0xFF;
}

void init_devices(void)
{
CLI(); //disable all interrupts
XDIV  = 0x00; //XTAL divider
port_init();

MCUCR = 0x00;
EICR  = 0x00; //external interrupts sources
EIMSK = 0x00;
TIMSK = 0x00; //timer interrupt sources
SEI(); //re-enable interrupts
//all peripherals are now initialised
}

//
void main(void)
{
unsigned CHAR TEMP=0xAA,i;
init_devices();
EEPROMwrite(0x20,TEMP);
i=EEPROMread(0x20);
PORTA=i;
}


2楼: >>参与讨论
gsjdan
问题已解决,需要写标志位!谢谢大家!
 
3楼: >>参与讨论
jsjsfm
请问一下,需要写哪个标志位?
如题! 谢谢!

参与讨论
昵称:
讨论内容:
 
 
相关帖子
MEGA64的熔丝位坏了怎么恢复?
单线仿真为什么老进不了调试状态?
CodeVisionAVR C Compiler 怎么能够直接调试?
请问AVRStudio4为什么没有C的呀!!怎样建立C开发环境呀?
winavr 新手问题:
免费注册为维库电子开发网会员,参与电子工程师社区讨论,点此进入


Copyright © 1998-2006 www.dzsc.com 浙ICP证030469号