你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM8S的eeprom 烧写问题

[复制链接]
ville00 提问时间:2013-12-3 12:51 /
刚刚使用STM8S,看了很多资料也没说明白,怎么样直接把数值在初始时就写入到EEPROM?直接定义?EEPROM unsigned char[10]?目前使用的四IAR 1.40
收藏 评论8 发布时间:2013-12-3 12:51

举报

8个回答
fengye5340 回答时间:2013-12-3 14:19:54

RE:STM8S的eeprom 烧写问题

STM8S的内部EEPROM是可以像FLASH那样直接写操作的。
1、先定义要写入的内容,比如你的EEPROM unsigned char EEPROM_BUFF=“内容”;
2、实现一个写子程序;eeprom_write()
3、在主程序初始化的时候开始写入。
ville00 回答时间:2013-12-3 14:24:23

回复:STM8S的eeprom 烧写问题

没有什么宏定义直接把数据定义在EEPRO内?
ville00 回答时间:2013-12-3 14:42:36

回复:STM8S的eeprom 烧写问题

回复第 2 楼 于2013-12-03 14:19:54发表:
STM8S的内部EEPROM是可以像FLASH那样直接写操作的。
1、先定义要写入的内容,比如你的EEPROM unsigned char EEPROM_BUFF=“内容”;
2、实现一个写子程序;eeprom_write()
3、在主程序初始化的时候开始写入。
 

你好,我刚刚做STM8s,有些还是没明白,按照你说的这样,在EEPROM在运行中更改后,过些时候再启动,不是又会在初始化的时候执行eeprom_write()把本来改过的值冲掉?
fengye5340 回答时间:2013-12-3 15:07:22

回复:STM8S的eeprom 烧写问题

回复第 4 楼 于2013-12-03 14:42:36发表:
回复第 2 楼 于2013-12-03 14:19:54发表:
STM8S的内部EEPROM是可以像FLASH那样直接写操作的。
1、先定义要写入的内容,比如你的EEPROM unsigned char EEPROM_BUFF=“内容”;
2、实现一个写子程序;eeprom_write()
3、在主程序初始化的时候开始写入。
 

你好,我刚刚做STM8s,有些还是没明白,按照你说的这样,在EEPROM在运行中更改后,过些时候再启动,不是又会在初始化的时候执行eeprom_write()把本来改过的值冲掉?
 

你设定好初始化内容后,执行一次程序,把固定内容烧写到EEPROM的固定存储区中,默认地址:0x1000开始吧,这个程序只需要执行一次,同时写个读取函数,读出来看看是否成功写入。然后,你再进行正常编程
正常编程的时候,你就需要把原来的EERPM写程序修改了,改成你需要的功能
 
 
 
 
ville00 回答时间:2013-12-3 15:15:24

回复:STM8S的eeprom 烧写问题

回复第 5 楼 于2013-12-03 15:07:22发表:
回复第 4 楼 于2013-12-03 14:42:36发表:
回复第 2 楼 于2013-12-03 14:19:54发表:
STM8S的内部EEPROM是可以像FLASH那样直接写操作的。
1、先定义要写入的内容,比如你的EEPROM unsigned char EEPROM_BUFF=“内容”;
2、实现一个写子程序;eeprom_write()
3、在主程序初始化的时候开始写入。
 

你好,我刚刚做STM8s,有些还是没明白,按照你说的这样,在EEPROM在运行中更改后,过些时候再启动,不是又会在初始化的时候执行eeprom_write()把本来改过的值冲掉?
 

你设定好初始化内容后,执行一次程序,把固定内容烧写到EEPROM的固定存储区中,默认地址:0x1000开始吧,这个程序只需要执行一次,同时写个读取函数,读出来看看是否成功写入。然后,你再进行正常编程
正常编程的时候,你就需要把原来的EERPM写程序修改了,改成你需要的功能
 哦,如果是大批量生产的时候也要烧写两次程序?
 
 
 
 
fengye5340 回答时间:2013-12-3 15:50:49

回复:STM8S的eeprom 烧写问题

回复第 6 楼 于2013-12-03 15:15:24发表:
回复第 5 楼 于2013-12-03 15:07:22发表:
回复第 4 楼 于2013-12-03 14:42:36发表:
回复第 2 楼 于2013-12-03 14:19:54发表:
STM8S的内部EEPROM是可以像FLASH那样直接写操作的。
1、先定义要写入的内容,比如你的EEPROM unsigned char EEPROM_BUFF=“内容”;
2、实现一个写子程序;eeprom_write()
3、在主程序初始化的时候开始写入。
 

你好,我刚刚做STM8s,有些还是没明白,按照你说的这样,在EEPROM在运行中更改后,过些时候再启动,不是又会在初始化的时候执行eeprom_write()把本来改过的值冲掉?
 

你设定好初始化内容后,执行一次程序,把固定内容烧写到EEPROM的固定存储区中,默认地址:0x1000开始吧,这个程序只需要执行一次,同时写个读取函数,读出来看看是否成功写入。然后,你再进行正常编程
正常编程的时候,你就需要把原来的EERPM写程序修改了,改成你需要的功能
 哦,如果是大批量生产的时候也要烧写两次程序?
 当然,这个也可以在一个程序中实现,需要作判断处理,初始化后,先判判EEPROM存储区有无固定存储内容,若无,则执行写操作,无有,则进行校验,和固定内容比较或写入某个值操作。
 
 
 

 
ville00 回答时间:2013-12-3 15:59:05

回复:STM8S的eeprom 烧写问题

回复第 7 楼 于2013-12-03 15:50:49发表:
回复第 6 楼 于2013-12-03 15:15:24发表:
回复第 5 楼 于2013-12-03 15:07:22发表:
回复第 4 楼 于2013-12-03 14:42:36发表:
回复第 2 楼 于2013-12-03 14:19:54发表:
STM8S的内部EEPROM是可以像FLASH那样直接写操作的。
1、先定义要写入的内容,比如你的EEPROM unsigned char EEPROM_BUFF=“内容”;
2、实现一个写子程序;eeprom_write()
3、在主程序初始化的时候开始写入。
 

你好,我刚刚做STM8s,有些还是没明白,按照你说的这样,在EEPROM在运行中更改后,过些时候再启动,不是又会在初始化的时候执行eeprom_write()把本来改过的值冲掉?
 

你设定好初始化内容后,执行一次程序,把固定内容烧写到EEPROM的固定存储区中,默认地址:0x1000开始吧,这个程序只需要执行一次,同时写个读取函数,读出来看看是否成功写入。然后,你再进行正常编程
正常编程的时候,你就需要把原来的EERPM写程序修改了,改成你需要的功能
 哦,如果是大批量生产的时候也要烧写两次程序?
 当然,这个也可以在一个程序中实现,需要作判断处理,初始化后,先判判EEPROM存储区有无固定存储内容,若无,则执行写操作,无有,则进行校验,和固定内容比较或写入某个值操作。
 
 
 

 很感谢你,以后有问题还会咨询,谢谢

 
wkuang 回答时间:2013-12-3 22:02:46

RE:STM8S的eeprom 烧写问题

EEPROM 不是系统地址,因此无法初始化时即把数据写入EEPROM,只能指定一个地址,使用EEPROM的读写函数使用IIC总线把数据写进去
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版