额。那个程序怎么写啊。还有就是我在EEPROM写了一个数据,下次重新上电读出来的怎么还是初始化的数据
我是用AVRStudio的,程序运行一遍后,复位,然后再运行一次,他读出来的数没有加1。unsignedchari=0;voidWrite_EEPROM(unsigned...
我是用AVR Studio的,程序运行一遍后,复位,然后再运行一次,他读出来的数没有加1。
unsigned char i=0;
void Write_EEPROM(unsigned char Data)
{if(EECR&0x20)
delay_ms(4);
EEAR=0x00C0;
EEDR=Data;
EECR=EECR|0X04;
EECR=EECR|0X02;
delay_ms(5);
}
unsigned char Read_EEPROM()
{
unsigned char Data;
if(EECR&0x01)
delay_ms(4);
EEAR=0x00C0;
EECR=EECR|0x01;
delay_ms(5);
Data=EEDR;
return(Data);
}
void main()
{Read_EEPROM();
i++;
Write_EEPROM(i);
while(i==5)
;
}这是我的程序 能帮我看看那里有问题吗?本来就是要在i++后面加一个擦除程序的,这样才可以读吗,谢谢了哈。。 展开
unsigned char i=0;
void Write_EEPROM(unsigned char Data)
{if(EECR&0x20)
delay_ms(4);
EEAR=0x00C0;
EEDR=Data;
EECR=EECR|0X04;
EECR=EECR|0X02;
delay_ms(5);
}
unsigned char Read_EEPROM()
{
unsigned char Data;
if(EECR&0x01)
delay_ms(4);
EEAR=0x00C0;
EECR=EECR|0x01;
delay_ms(5);
Data=EEDR;
return(Data);
}
void main()
{Read_EEPROM();
i++;
Write_EEPROM(i);
while(i==5)
;
}这是我的程序 能帮我看看那里有问题吗?本来就是要在i++后面加一个擦除程序的,这样才可以读吗,谢谢了哈。。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询