登录注册
论坛
版主
1万
25
在新版本的ESP系列固件中(v1.11版本,包括了ESP8266和ESP32),可以访问rtc memory了。如:
import machine rtc = machine.RTC() rtc.memory('12345') rtc.memory()
此内容由EEWORLD论坛网友dcexpert原创,如需转载或用于商业用途需征得作者同意并注明出处
扫一扫,分享给好友
在目前固件版本中,rtc.memory()是一个bytes类型对象,可以对rtc.memory整体写入,但是不能单独写入某个位置,而读取是可以一次读取或读取某个位置。 如:
rtc.memory('12345') rtc.memory('abc') rtc.memory(b'\x0012345') print(rtc.memory()) print(rtc.memory()[0], rtc.memory()[1])
rtc.memory最大大小,对于ESP8266是492,而ESP32是2048,超过将引发异常。
上电复位时,rtc.memory内容会清零,缓冲区长度变为0。但是在软复位时(包括deepsleep),rtc.memory的内容不会发生变化,也就是不会被初始化,利用这个特性,可以将一些特定数据写入到rtc.memory。 目前rtc.memory功能还待完善,暂时也没有文档。
国外网友的一个测试代码
import machine rtc = machine.RTC() i = 1 while True: try: rtc.memory(b'X' * i) except Exception as e: print('Error:', e) print(len(rtc.memory()), 'Bytes') print(rtc.memory()) break else: i += 1
发表回复 回帖后跳转到最后一页
论坛测评队员
EEWorld Datasheet 技术支持
查看 »