[应用相关] 怎么判断flash 已写满

[复制链接]
1480|11
 楼主| feiqi1 发表于 2016-12-10 19:49 | 显示全部楼层 |阅读模式
单片机控制flash ,每隔2分钟写一些数据,每次写之前怎么找到上次写的结尾,接着往下写,然后如何判断flash 已写满。谢谢!
androidbus 发表于 2016-12-10 19:54 | 显示全部楼层

既然是每2分钟写一些数据,那么频率不算很高,一般在FLASH中用一小块空间,将当前FLASH“写指针”的值存入,下次开机时读取该值试试!!
litengg 发表于 2016-12-10 19:56 | 显示全部楼层
楼上的前提是单片机不会在你写数据时断电。。
qiangweii 发表于 2016-12-10 20:02 | 显示全部楼层
每次准备写之前先统计写入字节+下面提到的校验码字节总数,计算好写完后FLASH指针会指向哪个地址。
shashaa 发表于 2016-12-10 20:03 | 显示全部楼层
先写入FLASH中特定区域,之后再将实际数据连同该区域的校验码一同写入,需要用到时先根据校验码进行校验。
xia00 发表于 2016-12-10 20:08 | 显示全部楼层
可以用索引值也就是如楼上所言的“写指针”,也可以用特定的字符串做结尾标志,不过二者各有优缺点。
hfdy01 发表于 2016-12-10 20:10 | 显示全部楼层
开辟一段空间做映射表试试
CallReceiver 发表于 2016-12-10 20:15 | 显示全部楼层
这个首先的需要你非常清楚你要写的flash空间有多大的。
boy1990 发表于 2016-12-10 20:16 | 显示全部楼层
还有需要考虑flash 的擦除机制的与数据的保存方式吧
mintspring 发表于 2016-12-10 20:19 | 显示全部楼层
楼主是想循环写是吧,设置一个结束标志。每次读到结束标志,就从结束标志这里写。如果不是循环写,就读到为空的地方位置。
 楼主| feiqi1 发表于 2016-12-10 20:22 | 显示全部楼层
哦,那我就知道怎么回事了,多谢大家。。
sourceInsight 发表于 2016-12-10 20:29 | 显示全部楼层
是的啊,这个直接判断是不可以的,设计这自己要首先非常熟悉flasH的读写机制的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

424

主题

1616

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部