项目中使用低功耗单片机MSP430F149,线路板采用3.6V锂电池(最大电压4.2V)直接供电,设备的运行参数保存在SEGA的开始20多个字节,每次上电程序都会读取这些参数并校验如果标志字不对就恢复默认的参数,每台设备设置完成后入库(部分带电池长期运行,部分去掉电池),过段时间再次上电读取参数时有很多设备(大概1/3) 的参数都复归了,说明程序读出来的校验标志字不对了,同时也不能保证其他设置参数的正确性。
请专家帮忙分析一下是读flash的SEGA程序不对还是在某种情况下存在SEGA中的参数出现错误或者丢失所致呢?
线路板硬件:单片机外部配置XT1= 32.768kHz XT2=8.000MHz,锂电池的3.6V(最大4.2V)电压直接给MSP430供电,未经过LDO变化为3.3V,程序中使能了看门狗,使用ACLK(32.768kHz)作为时钟源,在TIMERB的比较中断(CCR1=655,约20ms)中喂狗,而且是累积50次中断喂一次。