[AVR单片机] 关于EEPROM的读写

[复制链接]
1984|5
 楼主| laslison 发表于 2009-11-18 23:17 | 显示全部楼层 |阅读模式
#include <iom64v.h>
#include <macros.h>
#include <eeprom.h>
unsigned char k1,k2;//
void mcu_init(void)       //单片机初始化
{
  CLI();       //全局中断标志禁止
  EIMSK|=BIT(0);
  EICRA&=~(BIT(0)|BIT(2)|BIT(1)|BIT(3));//低电平中断
  EIFR&=~BIT(0);EIFR&=~BIT(1);EIFR&=~BIT(3);
  SEI();       //全局中断标志使能
}

#pragma interrupt_handler Start:2 //Mega64的INT0
//这是上电开机中断,K2记录开机的次数,但是问题就在这,每一次复位后,k2的值读出来就有问题
void Start()
{
unsigned char i;
k1=EEPROMread(0x01);
if(k1==255)k1++;k2++;                     
EEPROMwrite(0x01,k2);

}
/****************主函数**********************************/
void main(void)
{   
  mcu_init();   //单片机,
while(1)
  {
  ;   
  }
   
}
请高手给指点一下,中断里面关于EEPROM的读写有什么问题?谢谢~~~~
chen3bing 发表于 2009-11-19 14:24 | 显示全部楼层
我用PROTEUS试验了一下,写的是对的,读的不对。
chen3bing 发表于 2009-11-19 14:33 | 显示全部楼层
弄错了,我把数码管搞反了,实际是对的。
不过是记录外部中断0的次数。
suoma 发表于 2009-11-19 20:22 | 显示全部楼层
“实际是对的”,有点晕啊
 楼主| laslison 发表于 2009-12-4 23:17 | 显示全部楼层
love_life 发表于 2009-12-5 00:39 | 显示全部楼层
进来学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

95

主题

791

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部