树莓派pico入坑笔记,at24c256使用

关于树莓派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以外范围的数据

相关推荐
lengxuemo12 小时前
ICC2学习笔记之Placement and Optimization
笔记·学习
sheeta199813 小时前
LeetCode 每日一题笔记 日期:2026.06.02 题目:3635. 最早完成陆地和水上游乐设施的时间 II
笔记·算法·leetcode
小满Autumn14 小时前
MVVM Light 架构笔记:定位器、命令、消息与 IoC 实践
笔记·学习·架构·c#·上位机·mvvm
kobesdu15 小时前
【ROS2实战笔记-24】ROS2 Launch 实用技巧:条件逻辑与节点动态生成
笔记·ros·slam
小满Autumn15 小时前
CommunityToolkit.Mvvm 架构笔记:现代 MVVM、源生成器与工程化实践
笔记·架构·c#·.net·wpf·mvvm
imDwAaY18 小时前
贝叶斯网络到粒子滤波Python算法实现 CS188 Proj4 学习笔记
网络·人工智能·笔记·python·学习·算法
咸甜适中18 小时前
rust语言学习笔记Trait(十五)Drop(释放资源)
笔记·学习·rust
IT笔记19 小时前
【Rust】 Rust宏学习笔记
笔记·学习·rust
tianxingjian201919 小时前
从欧盟电池法新规看QFD:如何将合规需求转化为技术特性?
笔记
喜樂的CC19 小时前
NestJS图解笔记
笔记