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

相关推荐
希和20274 小时前
考研英语阅读词汇笔记|城市野径、抄近道步道(非正式小路)
笔记·考研
一个人旅程~7 小时前
关于imac27inch因改短用户名导致混合硬盘和系统崩溃的问题分析与故障解决
经验分享·笔记·macos·新浪微博
心祭丫丫7 小时前
【每天一个 Python 小案例17】Python 实现通讯录
开发语言·人工智能·笔记·python·学习
派大猩猩_9 小时前
Obsidian 笔记怎么同步多端:Nutstore Sync 大笔记库同步测评
笔记·obsidian·obsidian插件·obsidian同步
叼烟扛炮13 小时前
Linux 学习笔记(五十):网络层——IP 协议、子网划分与 NAT 魔法
linux·笔记·学习
叼烟扛炮13 小时前
Linux 学习笔记(六十):单线程的逆袭——epoll 高并发服务器实战
linux·服务器·网络·笔记·学习·算法
Rabitebla15 小时前
【Linux操作系统】进程篇(十一):进程程序替换——从底层原理到 exec 函数族
linux·服务器·c++·笔记·学习·算法
叼烟扛炮16 小时前
[LangChain] 学习笔记(03):打破失忆症——对话机制与上下文管理
java·前端·javascript·笔记·学习·langchain
景煜拾年16 小时前
InnoAI SQL 助手
运维·数据库·笔记·sql
旖旎夜光16 小时前
【C++ 基础入门】类和对象(下):初始化列表、static 成员、友元与内部类
c++·笔记·学习