打印
[AVR单片机]

关于EEPROM的读写

[复制链接]
1403|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 | 只看该作者
“实际是对的”,有点晕啊

使用特权

评论回复
5
laslison|  楼主 | 2009-12-4 23:17 | 只看该作者
:L

使用特权

评论回复
6
love_life| | 2009-12-5 00:39 | 只看该作者
进来学习

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

95

主题

791

帖子

1

粉丝