四轴飞行器 发表于 2013-12-4 13:13:44

STC单片机内置EEPROM预设初始值(申精)

本帖最后由 四轴飞行器 于 2013-12-4 13:25 编辑

STC单片机自带eeprom,是吧内部的data flash区域作为eeprom来实现掉电存储。有时候我们需要给eeprom设置一个初始值。但是部分单片机不能够单独烧写eeprom程序。又不能用先写个程序,给固定区域烧固定值,然后再下载有用的程序。

那么怎么办呢,没问题,只要把你的程序生成hex程序,然后用我传的软件,把所需要的预设区域的值改成你想设置的值就行,在保存。实测完美

四轴飞行器 发表于 2013-12-4 13:14:02

自己顶一个

dzahz666 发表于 2013-12-4 13:39:26

不错。我来顶一下

四轴飞行器 发表于 2013-12-4 13:40:38

dzahz666 发表于 2013-12-4 13:39
不错。我来顶一下

之前纠结好长一段时间,后来才弄明白的 哈哈

wkman 发表于 2013-12-4 14:53:23

{:shocked:}不明觉厉{:

绿茶山人 发表于 2013-12-4 15:06:51

不懂帮顶!!

marshallemon 发表于 2013-12-4 15:11:55

用不着这么麻烦,keil自己就可以搞定

四轴飞行器 发表于 2013-12-4 16:03:23

marshallemon 发表于 2013-12-4 15:11
用不着这么麻烦,keil自己就可以搞定

哥们,啥意思,给个教程先

xunke 发表于 2013-12-4 16:37:47

怎样使用?
怎样设定EEPROM的地址?

四轴飞行器 发表于 2013-12-4 16:53:05

xunke 发表于 2013-12-4 16:37
怎样使用?
怎样设定EEPROM的地址?

怎么写eeprom看芯片手册,我得方法是另一个写eeprom的方法

error_dan 发表于 2013-12-4 16:54:19

直接把数据用code定义过去不就行了~

四轴飞行器 发表于 2013-12-4 16:59:34

error_dan 发表于 2013-12-4 16:54
直接把数据用code定义过去不就行了~

CODE这样子啊soga

Sullivan 发表于 2013-12-4 18:05:13

EEPROM Editor is a simple hex editor, which can be used to
generate hex files for loading into EEPROM areas of AVRs etc.

This is a beta initial release and comes with no offical support.
Please report problems to avrisp@kanda.com.

Jason Taylor - 20th December 1999.Release 1.0 beta.

osesemi 发表于 2013-12-4 19:14:10

??????

四轴飞行器 发表于 2013-12-5 09:54:48

Sullivan 发表于 2013-12-4 18:05
EEPROM Editor is a simple hex editor, which can be used to
generate hex files for loading into EEPR ...

thankyou

marshallemon 发表于 2013-12-5 13:00:40

四轴飞行器 发表于 2013-12-4 16:03
哥们,啥意思,给个教程先

其实STC内部的E2P并不是真正的E2PROM,而是flash而已,说白了和你存储程序的rom是一样的,而且经研究这个所谓的E2P定义的位置为从该片的程序flash结束地址为开始,所以定义在code区域的常量表就可以做初始值,在使用KEIL的重定位功能,把常量表定义在该STC型号的E2P区域的首地址即可

四轴飞行器 发表于 2013-12-5 14:57:58

marshallemon 发表于 2013-12-5 13:00
其实STC内部的E2P并不是真正的E2PROM,而是flash而已,说白了和你存储程序的rom是一样的,而且经研究这个 ...

把常量表定义在该STC型号的E2P区域的首地址即可   很酷的感觉,看看能不能搞定

tjjack 发表于 2013-12-5 15:19:37

好像官网上就有啊

marshallemon 发表于 2013-12-5 17:12:20

四轴飞行器 发表于 2013-12-5 14:57
把常量表定义在该STC型号的E2P区域的首地址即可   很酷的感觉,看看能不能搞定 ...

可以的、这个我测试过

四轴飞行器 发表于 2013-12-5 18:03:49

marshallemon 发表于 2013-12-5 17:12
可以的、这个我测试过

KEIL的重定位功能,把常量表定义在该STC型号的E2P区域的首地址即可,       这个不会,可有资料呢,嘿嘿

hetao7241 发表于 2015-12-19 21:15:40

同问,求案例。谢!

guanglv2008 发表于 2015-12-19 21:36:04

支持一下感谢分享...

chen849928055 发表于 2016-8-12 15:56:31

好东西,下载用用。

weichao4808335 发表于 2016-8-12 16:02:15

是直接修改HEX么?

zwcled 发表于 2016-8-12 16:47:33

楼主是不是说EEPROM的数据要放在什么地方吗?
我之前用过,总共4K的flash,后面有一部分可以用来作为EEPROM用,全部程序写完后,主程序把用作EEPROM的地方盖住了但是4K还没满,,结果总是不对,后来发现了,把EEPROM的首地址重新定义,再往后移些地址,就解决了,EEPROM的首地址可以自定义从哪里开始的。

unsigned char code*POINTER = 0x0f00;                //定义开始地址。
页: [1]
查看完整版本: STC单片机内置EEPROM预设初始值(申精)