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

查看: 7793|回复: 8

STM8S的eeprom 烧写问题

[复制链接]

9

主题

9

回帖

0

蝴蝶豆

新手上路

最后登录
2020-6-9
发表于 2013-12-3 12:51:15 | 显示全部楼层 |阅读模式
刚刚使用STM8S,看了很多资料也没说明白,怎么样直接把数值在初始时就写入到EEPROM?直接定义?EEPROM unsigned char[10]?目前使用的四IAR 1.40
回复

使用道具 举报

22

主题

456

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-7-20
发表于 2013-12-3 14:19:54 | 显示全部楼层

RE:STM8S的eeprom 烧写问题

STM8S的内部EEPROM是可以像FLASH那样直接写操作的。
1、先定义要写入的内容,比如你的EEPROM unsigned char EEPROM_BUFF=“内容”;
2、实现一个写子程序;eeprom_write()
3、在主程序初始化的时候开始写入。
回复 支持 反对

使用道具 举报

9

主题

9

回帖

0

蝴蝶豆

新手上路

最后登录
2020-6-9
 楼主| 发表于 2013-12-3 14:24:23 | 显示全部楼层

回复:STM8S的eeprom 烧写问题

没有什么宏定义直接把数据定义在EEPRO内?
回复 支持 反对

使用道具 举报

9

主题

9

回帖

0

蝴蝶豆

新手上路

最后登录
2020-6-9
 楼主| 发表于 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()把本来改过的值冲掉?
回复 支持 反对

使用道具 举报

22

主题

456

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-7-20
发表于 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写程序修改了,改成你需要的功能
 
 
 
 
回复 支持 反对

使用道具 举报

9

主题

9

回帖

0

蝴蝶豆

新手上路

最后登录
2020-6-9
 楼主| 发表于 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写程序修改了,改成你需要的功能
 哦,如果是大批量生产的时候也要烧写两次程序?
 
 
 
 
回复 支持 反对

使用道具 举报

22

主题

456

回帖

0

蝴蝶豆

金牌会员

最后登录
2020-7-20
发表于 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存储区有无固定存储内容,若无,则执行写操作,无有,则进行校验,和固定内容比较或写入某个值操作。
 
 
 

 
回复 支持 反对

使用道具 举报

9

主题

9

回帖

0

蝴蝶豆

新手上路

最后登录
2020-6-9
 楼主| 发表于 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存储区有无固定存储内容,若无,则执行写操作,无有,则进行校验,和固定内容比较或写入某个值操作。
 
 
 

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

 
回复 支持 反对

使用道具 举报

4

主题

224

回帖

0

蝴蝶豆

初级会员

最后登录
2020-7-4
发表于 2013-12-3 22:02:46 | 显示全部楼层

RE:STM8S的eeprom 烧写问题

EEPROM 不是系统地址,因此无法初始化时即把数据写入EEPROM,只能指定一个地址,使用EEPROM的读写函数使用IIC总线把数据写进去
回复 支持 反对

使用道具 举报

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版