打印
[STM8]

STM8de奇怪问题,专家和高手进来看看,帮帮我

[复制链接]
1122|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
rouse520|  楼主 | 2015-8-16 12:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用STM8S003F3 做了一个产品,里面用到了STM8自带的EEPROM保存数据,下次上电要读这些数据的,用到了tim1的4个通道的PWM ,8s003默认的tim1_ch1和tim1_ch2没有启用,通过选项字映射了该功能,正常情况下产品一切OK,如果多插拔一次产品的插头(不停的快速断电和上电),有时候会死机,重新上电都不行,处于死机状态,这是产品的芯片通过IAR就不能调试烧录了(报错:选项字错误),一定要用STVP清除后才可,然后重新烧录,功能又OK了,这个问题是在不确定的情况下就会出现,有时特意去找又一直是好的,反正只要死机了,重新上电还是不行,IAR也不能调试烧录,大家帮忙分析看看是什么原因造成的
沙发
mmuuss586| | 2015-8-16 12:13 | 只看该作者

估计是丢程序了吧;
读写EEPROM的时候就不要去插拔了;

使用特权

评论回复
板凳
rouse520|  楼主 | 2015-8-16 12:23 | 只看该作者
mmuuss586 发表于 2015-8-16 12:13
估计是丢程序了吧;
读写EEPROM的时候就不要去插拔了;

关键是谁也不知道啥时候回断电呀,如果读写eeprom时断电,会怎样呢

使用特权

评论回复
地板
rouse520|  楼主 | 2015-8-16 12:26 | 只看该作者
rouse520 发表于 2015-8-16 12:23
关键是谁也不知道啥时候回断电呀,如果读写eeprom时断电,会怎样呢

数据没有保存也没有关系,不应该再次上电处于死机状态呀,啥功能都没有

使用特权

评论回复
5
aundry| | 2015-8-16 14:50 | 只看该作者
“通过选项字映射了该功能”
是不是每次上电都设置,还是先读取,不是映射功能再写
感觉最大可能是发生在操作Flash上面,EEPROM理论上读取不会引起这种问题
还有可以通过STVP把芯片的Flash EEPROM读出来,看是不是哪里被修改了

使用特权

评论回复
6
643757107| | 2015-8-16 22:42 | 只看该作者
根据动作,来确认死机的原因。

使用特权

评论回复
7
rouse520|  楼主 | 2015-8-17 08:20 | 只看该作者
aundry 发表于 2015-8-16 14:50
“通过选项字映射了该功能”
是不是每次上电都设置,还是先读取,不是映射功能再写
感觉最大可能是发生在操 ...

上电初始化,每次都设置映射功能,
是不是先读取,不是映射功能,在写为映射功能呢

使用特权

评论回复
8
Xflyan| | 2015-8-17 09:11 | 只看该作者
rouse520 发表于 2015-8-17 08:20
上电初始化,每次都设置映射功能,
是不是先读取,不是映射功能,在写为映射功能呢 ...

写EEPROM不会有这个错误,这个一般是写选项字节时出错导致的(只写了一半,补码还没有写进去,导致重启时检查选项字节出错,直接死机,需要重新编程到正常状态),选项字节只需要写一次就行了的,可以直接用STVP写入,如果在软件中判断再写入而电源可能不稳定的话,极有可能出现意外死机

使用特权

评论回复
9
rouse520|  楼主 | 2015-8-17 09:27 | 只看该作者
Xflyan 发表于 2015-8-17 09:11
写EEPROM不会有这个错误,这个一般是写选项字节时出错导致的(只写了一半,补码还没有写进去,导致重启时 ...

有道理,一定是写选项字出错的,之前我其他产品也有用到内部eeprom,也没有发现这个问题

使用特权

评论回复
10
popeye021| | 2015-8-17 10:05 | 只看该作者
也许是因为你的程序每次上电都去修改选型字节导致的。

使用特权

评论回复
11
捉虫天师| | 2015-8-17 12:40 | 只看该作者
这样就需要个做备用电源啊,弄个纽扣电池,这个可以作为时钟的电源,也可以作为备用的,防止你写的时候突然断电

使用特权

评论回复
12
aundry| | 2015-8-17 12:42 | 只看该作者
rouse520 发表于 2015-8-17 08:20
上电初始化,每次都设置映射功能,
是不是先读取,不是映射功能,在写为映射功能呢 ...

当然要先读取再判断是否要写
而且你每次都写还隐藏一个寿命的问题
Option也是Flash,也有寿命

使用特权

评论回复
13
rouse520|  楼主 | 2015-8-17 15:39 | 只看该作者
popeye021 发表于 2015-8-17 10:05
也许是因为你的程序每次上电都去修改选型字节导致的。

恩,我改了,加了判断,快速断电很多次暂时没有发现问题

使用特权

评论回复
14
rouse520|  楼主 | 2015-8-17 15:41 | 只看该作者
捉虫天师 发表于 2015-8-17 12:40
这样就需要个做备用电源啊,弄个纽扣电池,这个可以作为时钟的电源,也可以作为备用的,防止你写的时候突然 ...

很便宜的产品,用不到那么负责,程序加了判断,选项字其实只用写一次就行了,之前我搞错了,每次上次都写选项字

使用特权

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

本版积分规则

3

主题

20

帖子

0

粉丝