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

相关推荐
Tutankaaa3 小时前
从被动接受到主动挑战:知识竞赛如何重塑学习价值
人工智能·经验分享·笔记·学习
三棱球5 小时前
App逆向学习笔记(三)——Android开发入门课
android·笔记
handler015 小时前
拒绝权限报错!三分钟掌握 Linux 权限管理
linux·c语言·c++·笔记·学习
阿Y加油吧6 小时前
算法实战笔记:LeetCode 169 多数元素 & 75 颜色分类
笔记·算法·leetcode
ouliten6 小时前
cuda编程笔记(39)--Asynchronous Barriers(异步屏障)
笔记·cuda
U盘失踪了6 小时前
Go 结构体
笔记·golang
xuhaoyu_cpp_java9 小时前
连接池学习
数据库·经验分享·笔记·学习
东京老树根10 小时前
SAP学习笔记 - BTP SAP Build05 - SAP BTP BPA简介,Email Destination Settings(TODO)
笔记·学习
talen_hx29610 小时前
《零基础入门Spark》学习笔记 Day 17
大数据·笔记·学习·spark
北山有鸟11 小时前
Linux第一宏:container_of
笔记·嵌入式硬件·学习