使用AT24CXX EEPROM

MicroPython相关代码、库、软件、工具
回复
头像
shaoziyang
帖子: 3917
注册时间: 2019年 10月 21日 13:48

使用AT24CXX EEPROM

#1

帖子 shaoziyang »

EEPROM也是一种常用的存储器,可以用来保存少量数据,如配置参数。

代码: 全选

from pyb import I2C

_24L64_ADDR = const(0x57)

class _24L64(object):
    def __init__(self, i2c_num, i2c_addr=_24L64_ADDR, i2c_baud=100000):
        self.i2c_addr = i2c_addr
        self.i2c_buad = i2c_baud
        self.r = bytearray(2)
        self.w = bytearray(3)
        self.i2c = I2C(i2c_num, I2C.MASTER, baudrate = i2c_baud)

    def read(self, addr):
        self.r[0] = addr//256
        self.r[1] = addr%256
        self.i2c.send(self.r, self.i2c_addr)
        return self.i2c.recv(1, self.i2c_addr)[0]
               
    def write(self, addr, dat):
        self.w[0] = addr//256
        self.w[1] = addr%256
        self.w[2] = dat
        self.i2c.send(self.w, self.i2c_addr)

运行效果

>>> from _24L64 import _24L64
>>> ee=_24L64(1)
>>> ee.read(0)
0
>>> ee.read(1)
2
>>> ee.write(1, 5)
>>> ee.read(1)
5

头像
shaoziyang
帖子: 3917
注册时间: 2019年 10月 21日 13:48

Re: 使用AT24CXX EEPROM

#2

帖子 shaoziyang »

这个驱动是以前写的,使用了pyb的I2C模块,不够通用。新的驱动请参考社区驱动库,使用了machine的I2C,可以直接用在大部分micropython系统中。

回复

  • 随机主题
    回复总数
    阅读次数
    最新文章