百科知识

stc12c5204ad单片机低压检测中断与eeprom读写的问?

2012-07-12 09:33:12h***
stc12c5204ad单片机低压检测中断 与eeprom读写的问题STC12C5204AD单片机 低压检测中断中写入EEPROM的问题? 程序中赋值一个 全局变量 volatile cnt, 有2个中断 一个外部中断(优先级低) 一个低压检测中断(优先级高)。 程序流程是 在下降沿检测外部中断中 cnt++ 外部脉冲计数, 主程序通过数码管while(1){display(cnt)}, 低压检测中断中将cnt的值写入eeprom, 在主程序中while(1)之前 读取eeprom中低压检测中写入的值 赋与 cnt。 现在问题如下,在低压检测中如果写入 write(0x0000,1),在主程序中cnt=read(0x0000);while(1){display(cnt)},在掉电后重新上电时,能正常显示 eeprom中的值----1, 但是如果在低压检测中写入write(0x0000,cnt),同时给板子输入几个脉冲(比如10个)板子显示10,但在掉电后再次上电后显示---0(正常应该显示10),不知道为何会出现这样的问题。所有变量和函数返回值 都采用了 unsigned char。求大神解答! 简而言之就是一个全局变量cnt 在2个不同优先级的中断中操作的问题。stc12c5204ad单片机低压检测中断与eeprom读写的问题STC12C5204AD单片机低压检测中断中写入EEPROM的问题?程序中赋值一个全局变量vo?

最佳回答

很赞哦! (217)