#define EEPDATA ((EEPROM_DATA*)4000)
EEPROM_DATA car_DATA={0,0};
void read_eeprom(void)
{
EEPROM_DATA read_data[3];
EEPROM_DATA *p;
EEPROM_DATA *q;
FLASH->CR1=0X00;
nop();
FLASH->CR2=0X40;
FLASH->NCR2&=0X00;
p=EEPDATA;
q=read_data;
do
{
FLASH->DUKR = 0x56; // 写入第一个密钥
FLASH->DUKR = 0xae; // 写入第二个密钥
} while((FLASH->IAPSR&0x08) == 0);
for(u8 i=0;i<3;i++)
{
*q++=*p++;
}
void write_eeprom(void)
{
EEPROM_DATA *p;
p=EEPDATA;
FLASH->CR2=0X00;
FLASH->NCR2=0Xff;
do
{
FLASH->DUKR = 0xae; // 写入第一个密钥
FLASH->DUKR = 0x56; // 写入第二个密钥
} while((FLASH->IAPSR & 0x08) == 0); // 若解锁未成功,则重新再来
for(u8 i=0;i<3;i++)
*p++=car_DATA;
while((FLASH->IAPSR & 0x04) == 0); // 等待写操作成功
//ch = *p; // 将写入的内容读到变量ch 中
}
请各位大侠看一下,谢谢!!!!!!!!!!!!! |