cc2538 作为router节点 开关灯控制状态怎么记录?
时间:10-02
整理:3721RD
点击:
有一个实际需求是这样的,cc2538作为router接收coordinator发来的开灯关灯指令,都可以正常执行,但是router偶尔自动重启以后,就没办法保持之前的状态了,比如重启前是开灯状态,重启后都变成默认状态了,灯是关着的。
我考虑了如下几种方案:
1、考虑过每次收到开关指令,都立即写到NV里面,在每次启动的时候都读取相应的NV,这样就能记录之前的状态,这是一种方法,但频繁读写NV会严重影响flash寿命。
2、cc2538有没有掉电不丢失数据的ram区域,或者像rtc那样也行,我们外部加一个纽扣电池,这样每次都读写ram,就不存在寿命问题。
3、外扩sram,sram单独纽扣电池供电,永不掉电,这样每次都读写外部sram,也不存在寿命问题,有没有外扩sram的方案,有没有相关的guide文档?
这个功能是一个非常重要的功能么?一般在上电以后就工作一个初始化状态, 比方说亮灯,多少亮度,颜色等等。
很重要的,
因为断电或者自动重启是不确定的,所以每次接收到灯的状态变化,必须记录,否则突然重启或者设备断电再有电,状态就恢复默认了,
我们考虑了EEPROM的方式,每次收到状态变化都写EEPROM,开机的时候再去读,用的I2C总线
嗯,这样可以的。