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