关于这种方式的调电保存我当时也研究了很久.对于flash保存数据来说,
首先,它是一个扇区一个扇区来操作的,不管你保存的是一个扇区还是1个字节,其实你是等效的.
其次,在flash保存的时候,最耗电以及最耗时的不是写数据,而是擦数据(每次保存我们都要把扇区擦数据)
因此解决办法有以下两种:
1.如果你的数据在程序运行的时候还要使用,那么你要在电源端加超级电容(比如说0.47F,),以确保在调电的时候能用足够的电源来保存数据,这样子你会有另一个麻烦,你必须给芯片加外部看门狗,否则系统因为电容太大而无法启动,同时还要解决重复保存的问题.
2.如果你的数据只要是上电存一次,在程序运行过程当中用不到这些数据的话,你就可以在取完数据后就把它相应的扇区给擦掉,在调电的时候只写数据,这样,所需要电容的续电会小很多,其本上一个1000uF的电解电容就可以完成保存一个扇区的数据.
如还有问题,可以发我邮箱lyr338@163.com与我交流.呵呵,祝你好运
|