现在接收一个项目,项目要求低功耗,且一旦出产品运行,由于特殊环境不能再人工干预(也即不能人工复位,一单死机问题就很麻烦)。我使用的是PIC16f887的muc,现已将看门狗做休眠定时唤醒,看门狗定时器溢出唤醒复位将不产生芯片复位,而只是从sleep指令的下一个执行,理论上假如一段程序跑飞而没进行喂狗,看门狗将复位到该程序段而不是主程序地址0开始运行,理论上对程序跑飞还是能reset回来, 不知这种做法可行??另外我有个问题,就是该产品的参数数据都是用RAM保存,会不会有强电磁干扰或其他干扰影响RAM里的数据,我现在正在考虑要不要使用eeprom保存参数??望坛里的大侠们多多指点1、2.
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
我从来不用RAM 来保存资料。。
原因是如果断电了, 资料就不见, 伤不起啊。。
资料一般是存在EEprom。
那么, 就看存写的次数, 如果, 1百万次内的, 可以用PIC 内建的EEprom
如果, 超过1千万次, 就考虑外接EEprom 如 24LCxxx
下面是我做过的一个项目, 给你做思路参考:
我做的是几个计数器, 电路是12V 供电的。
我需要保存这个计数结果。。
但是, 我不能老是在数目累加时就写入去EEprom, 因为一天的写入的次数还蛮多的。。
所以, 我是暂时写在RAM 里。
另外,我有监视电源电压。。当电源掉电时,电压一降到9~10V, 我就知道了。。
这时就快速的把RAM的数目,写入EEprom 去。。时间是够的,余下的电足够我写入EEprom。
一周热门 更多>