打印
[技术问答]

有什么原因会导致程序跑着跑着会导致程序都刷掉了呢

[复制链接]
1293|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
lizhenming|  楼主 | 2016-12-30 08:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用的新塘M0517,写了一个程序,用到串口,定时器PWM输出,ADC检测等,老化了三四个小时后,机器不工作了,然后断电重新上电,机器不工作了(程序都已经没有了?),有什么问题会导致呢
沙发
734774645| | 2016-12-30 10:40 | 只看该作者
没见过,你确认程序没了?

使用特权

评论回复
板凳
734774645| | 2016-12-30 10:41 | 只看该作者
会不会是你用的晶振坏了

使用特权

评论回复
地板
lizhenming|  楼主 | 2016-12-30 11:02 | 只看该作者
不是晶振坏了,重新烧录程序还可以启动运行,还很正常,不过老化时间久之后还是会出现这个情况,会不会是程序有什么地方,跑丢了后进去了芯片擦出,或者跑去某些地方导致之后程序启动不了?

使用特权

评论回复
5
598330983| | 2016-12-30 16:59 | 只看该作者
你的代码有这种擦写的函数吗

使用特权

评论回复
6
墙上的咖啡| | 2016-12-30 19:51 | 只看该作者
我觉得不是程序没了,是跑飞了吧,或者都无法起振了。

使用特权

评论回复
7
爱潜泳的鱼| | 2016-12-31 10:46 | 只看该作者
我觉得是程序的问题,内存操作奔溃了。不会自己把程序刷掉了,只有可能是你程序的问题。

使用特权

评论回复
8
springvirus| | 2017-1-3 14:38 | 只看该作者
你程序里是否有通信的部分,请仔细检查buffer大小和接收长度的判断
偶之前遇到过刚开始运行没事,一段时间后,出现HARD FAULT,用仿真找到是
代码里有while(len--),len有等于0的时候,所以导致错误,加判断后,就解决了

使用特权

评论回复
9
lizhenming|  楼主 | 2017-1-3 17:26 | 只看该作者
springvirus 发表于 2017-1-3 14:38
你程序里是否有通信的部分,请仔细检查buffer大小和接收长度的判断
偶之前遇到过刚开始运行没事,一段时间 ...

这个最多是会导致死机,但是不会导致重新上电启动不了吧?现在问题是死机后,重新上电,启动不了,晶振也没起振

使用特权

评论回复
10
springvirus| | 2017-1-4 09:12 | 只看该作者
lizhenming 发表于 2017-1-3 17:26
这个最多是会导致死机,但是不会导致重新上电启动不了吧?现在问题是死机后,重新上电,启动不了,晶振也 ...

还是先查查硬件吧

使用特权

评论回复
11
lizhenming|  楼主 | 2017-1-4 11:52 | 只看该作者
springvirus 发表于 2017-1-4 09:12
还是先查查硬件吧

可以重新烧录程序又可以了,但是老化后还是会出现,是初始化配置晶振那里有问题吗

使用特权

评论回复
12
springvirus| | 2017-1-4 12:40 | 只看该作者
lizhenming 发表于 2017-1-4 11:52
可以重新烧录程序又可以了,但是老化后还是会出现,是初始化配置晶振那里有问题吗 ...

晶振没起振,怎么看的,看的晶振器件波形还是程序里看变量

使用特权

评论回复
13
lizhenming|  楼主 | 2017-1-4 14:27 | 只看该作者
springvirus 发表于 2017-1-4 12:40
晶振没起振,怎么看的,看的晶振器件波形还是程序里看变量

示波器测晶振

使用特权

评论回复
14
springvirus| | 2017-1-4 16:05 | 只看该作者
是否为匹配电容的问题?

使用特权

评论回复
15
springvirus| | 2017-1-4 16:05 | 只看该作者


是否为匹配电容的问题?

使用特权

评论回复
16
mintspring| | 2017-1-10 15:35 | 只看该作者
对,晶振最好用有源晶振比较好。

使用特权

评论回复
17
ddllxxrr| | 2017-1-10 15:42 | 只看该作者
程序没有了,不太可能,芯片烧了到是有可能

使用特权

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

本版积分规则

22

主题

127

帖子

2

粉丝