STM32单片机正常工作一段时间死机,复位无效,只有重下程序

2019-12-24 18:37发布

本帖最后由 白白e家 于 2017-9-2 09:57 编辑

最近做项目遇到一个棘手的问题,一根CAN总线上挂了100个STM32F103C8T6,其中有十个左右工作了一段时间会反复出现死机情况,死机后,单片机能正常与上位机通讯,读取传感器,控制状态灯也正常,就是存储的值死了,不会变化,怀疑是FLASH这一块的问题,但是具体怎么解决不知道。一旦死机,复位无效,重新上电也无效,加看门狗也不行,只有重新下载程序才可以,但是下过程序之后,再工作几天还是会死机,并且会越来越频繁。求各位大虾帮忙看下,不胜感激 ,补充一下,死机后,单片机能正常与上位机通讯,读取传感器,控制状态灯也正常,就是存储的值死了,不会变化,这是一种情况,更多的是死机后,就完全不工作了,屏幕也白屏了,从新下载程序后就好了
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
20条回答
白白e家
1楼-- · 2019-12-26 06:57
lengqing1309 发表于 2017-9-2 09:35
那不是死机。是存储数据被改写,硬件上供电加大电容,软件做备份处理,查下是否软件数组越界。 ...

硬件上电源进来的有330UF的电解电容和M7防反接
ziho2005
2楼-- · 2019-12-26 08:23
我一般把存储的参数放在同一页中,这一页安排在FLASH的最后一页,最好再用一页做备份,所有参数加上校验字。FLASH是按页操作的,注意FLASH加锁解锁,没出现过问题。
贰梓
3楼-- · 2019-12-26 13:30
根据现有的描述基本判断是FLASH被写坏了,不是的你用的是内部还是外扩FLASH,FLASH读写是否频繁?有无坏块管理?检查一下FLASH读写相关的程序吧
leiyin
4楼-- · 2019-12-26 18:08
白白e家 发表于 2017-9-2 09:59
,补充一下,死机后,单片机能正常与上位机通讯,读取传感器,控制状态灯也正常,就是存储的值死了,不会 ...

100多个设备,出现几十有问题。先排除硬件问题,这些设备是什么配置参数不一样吧,重新把正常的设备配置成这批出问题的设备,要是出现问题,说明程序方面有问题。

程序那块有逻辑不对的,而且是某些特殊配置下。具体不知道你程序怎么写的。
3050311118
5楼-- · 2019-12-26 21:18
 精彩回答 2  元偷偷看……
wy2000
6楼-- · 2019-12-27 03:03
如果用的是芯片内部的flash的话,建议楼主查程序吧。90%是程序写错了。一般干扰之类的不可能频繁出现的。 还有就是操作flash太频繁被你写坏了,或者操作的时候不注意擦除部分字节前没备份和校验。总之你程序写错的几率很大

一周热门 更多>