当前位置:首页 > 嵌入式 > 嵌入式职业规划
[导读]张明峰 :对现在有些年轻人的学习方法和效率感到悲哀!

读写片内EEPROM数据区,每一本相关的数据手册都有详细的例程,抄上去就可以了。如果连抄上也不行,那你还有什么是可以的呢?

什么都想要现成的,自己一点主观的进取心都没有。你要用C写程序,这当然是好事,可是连现成的汇编语句都无法用C语言复述一遍,那你还能用C写出什么有用的代码?

自己如果不清楚,就不要瞎说。什么“不是将wr置1,写完后会自动将wr置1”:事实正好相反。

可能又要说是初学之类的借口了。那反问一句:这象认真学习的模样吗?

算了,附上一些代码吧,仅供参考。

//=============================================================
//Write a byte of data into EEPROM memory
//Input:
//      eeData - data to be written
//      eeAddr - EEPROM memory address
//Return:
//      0 - successful
//      1 - data error
//      2 - time out
//=============================================================
unsigned char EE_Write(void)
{
unsigned char tmpData;

EEIF = 0;

EEDATA = eeData;   //data to write
EEADR  = eeAddr;   //adress to write
EEPGD  = 0;        //point to EE area
WREN   = 1;        //EE write enabled
GIE    = 0;        //no interrupt following
EECON2 = 0x55;     //password 55
EECON2 = 0xaa;     //password AA
WR     = 1;        //internal EE write cycle begin now
WREN   = 0;        //EE write can be disabled
GIE    = 1;        //interrupt could be enabled

timer  = 10;       //for backgound time-out control
do {
    asm("CLRWDT");
} while (EEIF==0 && timer!=0); //wait for EE write completed or time-out

if (EEIF==1 && timer!=0) {   //EE write completed normally
    tmpData = eeData;
    EE_Read();                //read back the written data
    if (tmpData == eeData)    //verify
       return(0);             //data is good
    else
       return(1);             //data is corrupted
} else
    return(2);                //WW write time out
}


//=============================================================
//Read a byte of data from EEPROM memory
//Input:
//      eeAddr - EEPROM memory address
//Output
//      eeData - data read
//=============================================================
void EE_Read(void)
{
EEDATA = 0xff;
EEADR  = eeAddr;
EEPGD  = 0;
RD     = 1;
eeData = EEDATA;
}

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读
关闭