La clase EEPROM permitirá crear un objeto que representa la memoria EEPROM interna del microcontrolador.
El constructor de la clase no recibe parámetros.
La clase EEPROM posee métodos para leer y escribir bytes (8bit) enteros (32bits), números con punto flotante (32bits) y Strings.
La capacidad de la EEPROM es de 16Kbytes.
import pyb eeprom = pyb.EEPROM() # R/W bytes test eeprom.write_byte(0x0000,0x27) eeprom.write_byte(0x0004,0x28) for addr in range (0,16): val = eeprom.read_byte(addr) print(hex(val)) # R/W 32bit integers test eeprom.write_int(0x0000,0x11223344) eeprom.write_int(0x0004,0x12345678) val = eeprom.read_int(0x0000) print(hex(val)) val = eeprom.read_int(0x0004) print(hex(val)) # R/W 64bit doubles test eeprom.write_float(0x0000,3.14) val = eeprom.read_float(0x0000) print(str(val))
import pyb import json dic = dict() dic["k1"] = "Hello" dic["k2"] = "World" dic["k3"] = 2016 dic["k4"] = 3.14 print("Python Dict obj:") print(dic) #write dict in eeprom jsonStr = json.dumps(dic) print("JSON to write:") print(jsonStr) eeprom = pyb.EEPROM() eeprom.write(jsonStr) # read dict from eeprom print("Python Dict obj from EEPROM:") jsonStr = eeprom.readall() dic = json.loads(jsonStr) print(dic)
En este ejemplo se crea un diccionario Python y luego se serializa utilizando el módulo json, una vez obtenido el String que representa al diccionario, se graba en la EEPROM mediante el método “write”. Para volver a construir el diccionario, se lee el String desde la EEPROM mediante el método “readall” y luego se decodifica mediante el método “loads” del módulo json.