[STM8] stm8l eeprom写不进去

[复制链接]
 楼主| 小孩飞啊飞 发表于 2012-7-25 19:16 | 显示全部楼层 |阅读模式
用的stm8l101f3p6这款单片机,想要把某个数写进去保存,可是怎么都写不进去,还望各位大侠能帮帮忙,下面贴出我的代码:
unsigned long int *p;
unsigned long int UID;
void eeprom_key(void)   //解除eeprom写保护
{

p = (unsigned long int *)0x9800;  //指针p指向第一个地址

do{

  FLASH_DUKR = 0xae;   //写入第一个密钥

  FLASH_DUKR = 0x56;   //写入第二个密钥

}while(!(FLASH_IAPSR & 0x08));   //等待解锁成功

UID = *p;  //EEPROM中的值读给变量UID
}
//下面是往EEPROM中写数据
*p = UID;    //eeprom里写入数据
while(!(FLASH_IAPSR & 0x04));   //等待写操作成功
一直写不进去,最后一步也是一直在循环里
figo20042005 发表于 2012-7-25 21:51 | 显示全部楼层
LZ找例程看下,  FLASH_DUKR = 0xae;   //写入第一个密钥

  FLASH_DUKR = 0x56;   //写入第二个密钥
觉得这两个之间需要延时
giant0113 发表于 2013-8-14 16:54 | 显示全部楼层
我的也写不进去,版主求救啊
cjhk 发表于 2013-8-14 19:10 | 显示全部楼层
不是很了解   难道是写区域错了吗
cjhk 发表于 2013-8-14 19:10 | 显示全部楼层
这个   可以看看技术手册   上的说明   操作方法
sun1238898 发表于 2013-8-15 16:03 | 显示全部楼层
while(!(FLASH_IAPSR & 0x04));   //等待写操作成功
这句话你写不进去,你也可以参考看下STM8S的写方法。
lynnlbf 发表于 2014-9-2 22:25 | 显示全部楼层
我的也写不进去,读是可以读出来。楼上的各位解决了没啊?求解啊!!!!!!!!
光晔秋秋 发表于 2014-9-9 19:18 | 显示全部楼层

FLASH_DUKR = 0xae;   //写入第一个密钥

  FLASH_DUKR = 0x56;   //写入第二个密钥
觉得这两个之间需要延时

另,不知在哪里看到,你试着把密钥对调 下
布丁奶茶 发表于 2015-11-26 14:02 | 显示全部楼层
还是建议用库函数解锁
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

44

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部