打印
[技术问答]

N79E815写flash偶尔失败的原因

[复制链接]
1805|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ivanchowst|  楼主 | 2015-12-30 16:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
@版主,各位大神路过请帮忙解答,在调试单片机的时候关于掉电保存的功能,有时能写进flash,有时又会失败,大概成功10次后就会连续失败5次,已经确定是写的问题,与读取无关,也已经延时一段时间>10ms再关机的。大神帮忙分析下原因,万分感谢。
沙发
捉虫天师| | 2015-12-30 19:36 | 只看该作者
有时候电真的掉了,真的没有写入呢,就没电了,所以这个样子,建议搞个备用电池,就是那种主板上用的那种电池。当掉电后,自动切换到备份电池,然后保存东西,然后再自动关机。

使用特权

评论回复
板凳
dongnanxibei| | 2015-12-30 21:30 | 只看该作者
没有这么用过,一直都是默认,让编译器自己分配的。

使用特权

评论回复
地板
wahahaheihei| | 2015-12-31 09:42 | 只看该作者
写每次的时候记得延时一下,等待一会儿,再写下一个就可以了

使用特权

评论回复
5
gejigeji521| | 2015-12-31 11:29 | 只看该作者
应该没有写入完呢,就结束了,是在中断里做的吗,写的时候要关闭所有中断。

使用特权

评论回复
6
zhuotuzi| | 2015-12-31 16:23 | 只看该作者
偶尔的失败应该是系统忙,然后没有采用判断是否正确写入,建议每次写入后立马读出校验,正确了,写第二个。

使用特权

评论回复
7
ivanchowst|  楼主 | 2015-12-31 17:07 | 只看该作者
各位大哥说的原因都有可能,不过我已经找到真正的原因了,关机前我虽然延时了,但是被其他程序干扰了,结果没写完,还是很谢谢各位大哥,赞:handshake

使用特权

评论回复
8
500days| | 2016-1-3 20:54 | 只看该作者
真的没有遇到过这样的问题,头一回听说

使用特权

评论回复
9
orangebanana| | 2016-1-4 20:15 | 只看该作者
这个得看你板子上的电压是否稳定

使用特权

评论回复
10
mintspring| | 2016-1-5 21:16 | 只看该作者
关机前我虽然延时了,但是被其他程序干扰了?这种情况最好用中断方式,遇到写Flash就在中断完成,什么时候写完,并且验证了,再退出来。

使用特权

评论回复
11
598330983| | 2016-1-5 22:27 | 只看该作者
不能单纯的使用延时这种方法,最好是验算一下,看看到底写入没有,写入后再读出来,比对,确定后,继续写。

使用特权

评论回复
12
perfectherry| | 2016-1-6 10:12 | 只看该作者
用个IO口中断来检测单片机是否掉电,然后用电容供电,最好在检测中断的IO口那里加个下拉电阻,迅速放电,进入中断,而且 你还要判断flash里的数据和你要写的数据一样不,一样就不写了

使用特权

评论回复
13
xinba0625| | 2016-1-18 09:53 | 只看该作者
来晚了,楼主已经找的问题所在,赞

使用特权

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

本版积分规则

11

主题

42

帖子

1

粉丝