首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

avr 内置eeprom 写 程序崩溃,该如何解决

2012-03-15 
avr 内置eeprom 写 程序崩溃不知道又没人做下位机的,那位高手 指点下,整了我一天了void write_eeprom(uint

avr 内置eeprom 写 程序崩溃
不知道又没人做下位机的,那位高手 指点下,整了我一天了
void write_eeprom(uint add,uchar data_)
{
CLI();
while(EECR&=(1<<EEWE));
EEAR=add;
EEDA=data_;
EECR!=(1<<EEMWE);
EECR!=(1<<EEWE);
SET();
}
在主程序中
void main(void)

  int i=0;
  .......
  for(i=0;i<30;++i)
{
  write_eeprom((unit)i,0xcc);
}
}
如果单步调试,可以成功写入eeprom,但直接运行就会崩溃。我试过在循环中每次写后加入延迟程序但依然会崩溃,请问问题出在那里?

解决即加分

[解决办法]
延迟是加在哪里的,单步的断点加在哪里?
CLI()和SET()之后都加延时试试,需要的延时可能比楼主想的大,查查datasheet。


[解决办法]
延迟是加在哪里的,单步的断点加在哪里?
CLI()和SET()之后都加延时试试,需要的延时可能比楼主想的大,查查datasheet

热点排行