打印
[其他]

MM32G0140 I2C驱动EEPROM

[复制链接]
349|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 MindMotion 于 2023-6-6 13:57 编辑

1. EEPROM 简介
EEPROM全称为EEPROM(Electrically Erasable Programmable Read Only Memory)是电可擦可编程只读存储器。虽然名称为只读存储器,但是擦除和写入都是直接使用电路控制,不需要再使用外部设备来擦写,即设备在运行过程中即可随时擦除和写入。可以按字节为单位修改数据,无需整个芯片擦除,且掉电后数据不丢失,一般用来存储一些配置信息,以便系统重新上电的时候加载。

2. EEPROM 操作说明
2.1  通讯方式
主要通讯方式有 I2C 和 SPI 协议,本文将介绍如何通过 I2C 来驱动EEPROM。
2.2  设备地址
如果仅接入一个AT24C02,可以将设备的A0、A1、A2引脚全部接入低电平,那么此时该设备的地址为0xA0。


2.3  I2C配置流程
开时钟,外设清零,参数配置,初始化,引脚配置,使能


2.4  写入数据
写入一个字节:MCU先向AT24C02写入一个地址,然后再写入数据。
写入一页:MCU先向AT24C02写入一个地址,然后再依次写入数据,注意AT24C02一页有8个字节,每页开始地址均是8的整数倍,一次页写入操作地址不能超过当前页的尾地址。
连续写入:AT24C02本身没有提供连续写入的操作,因此必须先将数据按页地址分为若干页,然后再依次调用页写入操作进行写入。


2.5  读出数据
读取当前字节:MCU直接发起读操作,设备返回当前字节,当前字节自动加1,该操作较少使用。
读取指定地址一个字节:MCU先向AT24C02写入一个地址,然后再发起一个读操作,AT24C02返回该地址存储的字节。
连续读取:MCU发起读当前字节,或者读指定地址字节,设备返回数据,MCU发送ACK,设备继续返回后续地址数据,直到MCU发送NACK,设备不再返回数据。


2.6  样例测试
初始化两个数组,配置I2C,调用写入和读取的函数操作EEPROM,通过串口打印观察结果。


运行实例

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:上海灵动微电子股份有限公司
简介:上海灵动微电子股份有限公司成立于 2011 年,是中国本土通用 32 位 MCU 产品及解决方案供应商。 灵动股份的 MCU 产品以 MM32 为标识,基于 Arm Cortex-M 系列内核,自主研发软硬件和生态系统。目前已量产近 300 多款型号,累计交付超 4 亿颗,在本土通用 32 位 MCU 公司中位居前列。

86

主题

104

帖子

5

粉丝