desarrollo:edu-ciaa:edu-ciaa-nxp:python:bibliotecas:modulo-pyb-eeprom
Tabla de Contenidos
Soporte EEPROM interna: Clase EEPROM
La clase EEPROM permitirá crear un objeto que representa la memoria EEPROM interna del microcontrolador.
Constructor
El constructor de la clase no recibe parámetros.
Métodos
La clase EEPROM posee métodos para leer y escribir bytes (8bit) enteros (32bits), números con punto flotante (32bits) y Strings.
- write_byte(addr,val): Escribe un byte en la dirección indicada y devuelve la cantidad de bytes escritos (1 byte)
- write_int(addr,val): Escribe un entero en la dirección indicada y devuelve la cantidad de bytes escritos (4 bytes)
- write_float(addr,val): Escribe un float en la dirección indicada y devuelve la cantidad de bytes escritos (4 bytes)
- write(val) : Escribe un String a partir de la dirección 0x0000 de la EEPROM
- read_byte(addr): Lee un byte en la dirección indicada
- read_int(addr): Lee un entero desde la dirección indicada
- read_float(addr): Lee un float desde la dirección indicada
- readall() : Lee un string desde la dirección 0x0000 de la EEPROM
La capacidad de la EEPROM es de 16Kbytes.
Ejemplo 1
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))
Ejemplo lectura y escritura de un diccionario usando JSON
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.
desarrollo/edu-ciaa/edu-ciaa-nxp/python/bibliotecas/modulo-pyb-eeprom.txt · Última modificación: 2016/10/08 19:12 por egigliotti