打印

stm8s103的EEPROM不能读写是为什么?

[复制链接]
1824|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lanxiao888|  楼主 | 2013-8-13 11:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#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 中
}
请各位大侠看一下,谢谢!!!!!!!!!!!!!

相关帖子

沙发
wangch_sh| | 2013-8-29 16:45 | 只看该作者
1.软件问题。
2.硬件问题。

使用特权

评论回复
板凳
南宫云明| | 2013-8-29 21:13 | 只看该作者
是不是要设置选项字节的?

使用特权

评论回复
地板
velf8| | 2013-8-31 15:54 | 只看该作者
读写EEPROM密钥都是一个顺序0xae 0x56
所以你的程序出在了密钥写入顺序错了
不需要配置任何选项
就可读写

使用特权

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

本版积分规则

1

主题

8

帖子

0

粉丝