关于树莓派pico和circuitpython的更多玩法,请看树莓派pico专栏
使用基于circuitpython8.x的树莓派pico通过iic读写at24c256模块
at24c256,8位非易失存储器,断电后内容不丢失,大小256Kbit=32KB,地址范围0~32767,通过iic进行通信,支持地址通过引脚选择,用来拓展多片存储,本文使用全部置零,支持随机/页写入,但是页写入需要考虑页的大小和地址,违背方便的初衷,故不作展开
使用的库adafruit_24lc32,包含在官方拓展库里,是官方为at24c32编写的库,默认支持大小32Kbit=4KB,但兼容at24cxx系列,只需要在使用时显式声明大小即可
使用样例
python
import board
import busio
import adafruit_24lc32
i2c = busio.I2C(board.GP5,board.GP4)
eeprom = adafruit_24lc32.EEPROM_I2C(i2c,max_size=32768)
print("length: {}".format(len(eeprom)))
eeprom[0] = 4
print(eeprom[0])
data=[1,2,3,4]
eeprom[0:5] = data[0:5]
print(eeprom[0])
注意在创建eeprom实例时要显式声明max_size,即存储容量,以字节为单位
支持以切片的方式操作,[]内部即为操作的地址,注意单地址的存储空间为8位,所以不要输入0~255以外范围的数据