ATMEGA64: EEPROM就绪中断来的时候,EECR的EEWE位为0吗?
准备用EEPROM的就绪中断来触发EEPROM写队列的下一字节的写操作,但调的时候发现,EEPROM中断来的时候,EECR的EEWE位居然不为0。手册上写得很清楚:EEWE清零的时候,中断才来。
各位遇到类似问题没有? 兄弟,我也准备这么干,库函数的写太耗时间,我的项目必须用缓存队列来写EEPROM,可以一起交流。
另外,我想EEPROM数据初始化绝对定位(搜我的帖子),你有什么建议? 为什么eeprom中断函数无法用呢?
int main(void)
{
EECR |= (1<<EERIE);//使能eeprom中断
while(1);
}
ISR(EE_READY_vect)
{
EEARH=0X00;//地址
EEARL=0X03;
EEDR = 5;//要写入的数据
EECR |= (1<<EEMWE);//使能主机写使能
EECR |= (1<<EEWE);//使能写
}
这样却无法写入,按照datasheet中的用while查询是可以写入的,为什么用中断就不可以? 兄弟,这个帖子很老了。我不用AVR已经好多年了。 stdio 发表于 2013-5-30 13:19 static/image/common/back.gif
兄弟,这个帖子很老了。我不用AVR已经好多年了。
{:titter:} 。兄台是元老级别的了哦。8年了。抗日战争都结束了。
页:
[1]