断电数据保存问题
对于断电数据保存:
1 可以在每次操作时都将当前的状态保存到一个非易失地方,在上电后从改地址读出来初始化相关参数。优点:可靠但适合保存数量小的场合,缺点:效率不高。
2 也可以在掉电检测中断里面保存数据,上电时调出,但缺点是对突发断电可能没有足够的时间来存储。这适合有后备电源的场合。
- 使能PWR外设(加入 “stm32f4xx_pwr.h” 头文件,开启时钟,配置PVD电压级别)
- 开启外中断(NVIC分组,配置外中断并使能),因为PVD连接到了外中断16上了。在中断沿设置时要注意:电压值高于设定值时为 0,低于设定值时为1
- 外中断中进行数据保存。
关于存储介质:
对于存储少量参数:eerom比较合适,因为不用每次都整片搽除。但速度慢。
FLASH:上电时读到RAM,断电时写入FLASH(PVD检测,PVD中断中关闭外设后写数据,但需要后备电源).
也可以存在单片机的一些后备寄存器中。
关于FLASH搽除和写0XFF:
他们是有区别的,flash写(0/1)之前必须搽除。写0XFF在原来是1的情况下是没问题的,但之后写0就写不进去了。