打印
[STM8]

STM8的EEPROM读写速度挺快的啊

[复制链接]
10179|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lzymcu|  楼主 | 2010-10-9 11:08 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
STM8的EEPROM读写速度挺快的啊,经测试发现并没像datasheet说的那样一个字节6.6ms,

我是单字节写的,似乎写N个字节都是6点几个ms,我是用示波器测得的

数据时写进去了
沙发
yewuyi| | 2010-10-9 11:11 | 只看该作者
这样不能算吧?!

难道写进去了后没有标志提示吗?

正确的应该是:发送写命令,检测写完成标志,这个时间才是写入时间吧。

使用特权

评论回复
板凳
lzymcu|  楼主 | 2010-10-9 11:19 | 只看该作者
不过发现有点问题,有几个字节断电后就不对了

这又是为什么呢?
有这方面经验的帮帮忙啊

使用特权

评论回复
地板
yewuyi| | 2010-10-9 12:25 | 只看该作者
这是软件仿真和实际芯片调试不同步的原因。

这就说明,事实上没这么快,而且你的程序也是有问题的。

使用特权

评论回复
5
pkat| | 2010-10-9 15:55 | 只看该作者
估计没这么快

使用特权

评论回复
6
火箭球迷| | 2010-10-10 22:35 | 只看该作者
应该不大可能达到这么快的

使用特权

评论回复
7
dadodo| | 2010-10-11 23:50 | 只看该作者
手册上的数据是对的。
如果养了狗,写着写着小心被狗咬,呵呵

使用特权

评论回复
8
txcy| | 2010-10-12 10:30 | 只看该作者
楼上可真够幽默的

使用特权

评论回复
9
hugo0chen| | 2014-6-10 10:32 | 只看该作者
我的也出现这个问题,开始的连续四个地址空间内容,出现问题,调试仿真时可以查看到,断电后再上电,内容全部或是部分消失,程序如下,STM8L051F3芯片,STVD开发环境。

EEPROM.jpg (99.06 KB )

EEPROM.jpg

使用特权

评论回复
10
pofu007| | 2014-6-10 15:49 | 只看该作者
写一个byte或word我都是这么做的,不知道是不是完善
// Unlock data memory
FLASH_Unlock(FLASH_MemType_Data);
        
// Wait until Data EEPROM area unlocked flag is set
while (FLASH_GetFlagStatus(FLASH_FLAG_DUL) == RESET)
{}
   
FLASH_ProgramByte((uint32_t)CHECK_CODE_ADDR, (uint8_t)CHECK_CODE);
        
FLASH_WaitForLastOperation(FLASH_MemType_Data);
   
        FLASH_Lock(FLASH_MemType_Data);  

使用特权

评论回复
11
hugo0chen| | 2014-6-10 15:59 | 只看该作者
本帖最后由 hugo0chen 于 2014-6-10 16:01 编辑
hugo0chen 发表于 2014-6-10 10:32
我的也出现这个问题,开始的连续四个地址空间内容,出现问题,调试仿真时可以查看到,断电后再上电,内容全 ...

在对EEPROM开始操作的一开始,增加延时程序,问题解决了。其实主要是芯片启动工作后,增加一段延时可以使得crystal稳定,另外我从其他的帖子上看到出现EEPROm的读写问题时,如果再程序的一开始就操作,增加一段延时即可。

使用特权

评论回复
12
boyie| | 2014-6-11 08:16 | 只看该作者
时钟稳定 可以读取标志位, 一般初始化时钟时候有个等待,知道READY标志位好了才进行下一步操作,估计你没做这个等待吧。时钟是需要时间稳定的 。
EEPROM楼主有点搞笑了。 我试过 跟手册上基本一致, 你没有加等待操作完成的标志。 为之关不掉的看门狗得不停的喂~~~~~~~~~~~

使用特权

评论回复
13
叶与秋风舞| | 2015-11-17 23:13 | 只看该作者
7楼的。也是个人才;P;P;P;P;P;P;p;p;p

使用特权

评论回复
14
exson_2006| | 2015-11-18 08:40 | 只看该作者
感谢分享

使用特权

评论回复
15
zxm19820916| | 2016-6-13 17:55 | 只看该作者
hugo0chen 发表于 2014-6-10 10:32
我的也出现这个问题,开始的连续四个地址空间内容,出现问题,调试仿真时可以查看到,断电后再上电,内容全 ...

我也是,保存5个字符,断电再上电后,第一个字符的位置显示第五个字符,其它4个没有显示。

使用特权

评论回复
16
zxm19820916| | 2016-6-13 17:56 | 只看该作者
hugo0chen 发表于 2014-6-10 15:59
在对EEPROM开始操作的一开始,增加延时程序,问题解决了。其实主要是芯片启动工作后,增加一段延时可以使 ...

有没有读写EEPROM的参考代码?谢谢!

使用特权

评论回复
17
hugo0chen| | 2016-6-15 13:47 | 只看该作者
zxm19820916 发表于 2016-6-13 17:56
有没有读写EEPROM的参考代码?谢谢!

在对FLASH或是EEPROM进行数据读写的是,中断最好关闭,等flash读写完毕后,如果需要,再开启允许中断

使用特权

评论回复
18
zxm19820916| | 2016-6-15 15:35 | 只看该作者
hugo0chen 发表于 2016-6-15 13:47
在对FLASH或是EEPROM进行数据读写的是,中断最好关闭,等flash读写完毕后,如果需要,再开启允许中断 ...

嗯,谢谢,已经解决。

使用特权

评论回复
19
zxm19820916| | 2016-6-15 15:36 | 只看该作者
zxm19820916 发表于 2016-6-13 17:55
我也是,保存5个字符,断电再上电后,第一个字符的位置显示第五个字符,其它4个没有显示。 ...

我自己弄错了,保存的时候地址没有增加偏移量,导致只是保存了最后一个字节。

使用特权

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

本版积分规则

1

主题

96

帖子

1

粉丝