当前位置:首页 > 单片机 > 单片机
[导读]// 注意写入地址空间的范围以及最大值// 想向eeprom中写入数据,必须先解锁eeprom空间// 读取数据时不需要解锁,直接读取即可// 解锁函数void EEPROM_UnLock(void){while(!FLASH_IAPSR_DUL) // 解锁成功标志{// 数据

// 注意写入地址空间的范围以及最大值

// 想向eeprom中写入数据,必须先解锁eeprom空间

// 读取数据时不需要解锁,直接读取即可

// 解锁函数

void EEPROM_UnLock(void)

{

while(!FLASH_IAPSR_DUL) // 解锁成功标志

{

// 数据手册上是让先写 0x56, 0xae ,

// 但事实密钥顺序是按照这个 0xae , 0x56,

FLASH_DUKR = 0xAE;

FLASH_DUKR = 0x56;

}

}

// 上锁函数 -- 只是不能再向其中写入数据,读取数据可以在任何状态下读取

void EEPROM_Lock(void)

{

FLASH_IAPSR &= ~MASK_FLASH_IAPSR_DUL;

}

// 向指定地址写入数据

// address_temp -- 写入到第几号地址空间

// data_temp -- 数据内容

void EEPROM_Write_Address_Dat(unsigned int address_temp,unsigned char data_temp)

{

*(unsigned char *)(0x4000 + address_temp) = data_temp;

}

// 读指定地址的数据

// address_temp -- 读取的第几号地址空间

// 返回值就是读取数值

unsigned char EEPROM_Read_Address_Dat(unsigned int address_temp)

{

unsigned char data_temp = 0;

data_temp = *(unsigned char *)(0x4000 + address_temp);

return data_temp;

}


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