stm32 数据掉电保存问题
RST问题请教
HAL_I2C_Mem_Read_IT读取INA226多个寄存器只有第一个寄存器是对的,其他全为0XFF
stm32电源部分
ST MotorControl Workbench 生成代码过程中报错Java的非法反射警告
HAL_TIM_IC_Start_DMA的回调函数是HAL_TIM_IC_CaptureCpltCallback吗?为什么进不去?
方波控制,光标这一段,相电流为啥上升了,之前怀疑是这个时候,同时开了三个MOS管,但实测波形,跟段波形有点滞后,而且时间也没那么长。
请问大家有没有遇到过芯片内存的数据和下载的不一样的?
在 STM32F0 系列中,CAN 外设的正常模式和监听模式怎么切换
STM32F030进入Stop模式后RTC唤醒问题
微信公众号
手机版
你这是想干啥,单片机上的RAM本来就是易失性的,断电丢失数据
带电热复位和断电再上电的冷复位对RAM的影响不同,断电再上电可能被硬件电路执行为冷复位操作
可以放到外部的EEPPROM中
添加一个外部存储芯片如AT24Cxx如何,这样保存的数据不会受断电的影响了。
断电本身就会丢数据 根据芯片情况找个EEPPROM芯片或者看芯片带不带EEPPROM,然后每次默认上电写入一次EEPPROM中存储的变量数据自增一次
一般芯片都是有的
如果需要保存这个数据,那么它只能放到FLASH 或 外部EEPORM中去。可以参考以下思路尝试:
1. 内部FLASH: 每次上电或检测到复位后,将原来存贮在FLASH中最后一个不为0的记录读出来加1,然后写到下一个地址保存起来,直到整个page 都写满,再下一个PAGE记录并擦除当前page ,或擦除当前PAGE重新循环记录。
注意:在保存时不能断电,也就是上电后不能立刻掉电。同时占用一个page 或两个page 的程序空间。
2。增加外部EEPROM。 注意检测到掉电时,不要再去写EEPROM。
这里计数有个好处,每个单元都会加1,方便判断比较。
可以写入flash啊,但是就是要考虑次数
RAM掉电会丢失数据,使用eeprom保存这个变量,每次上电读写