MM32G0140 I2C驱动EEPROM

cathy的头像
cathy 发布于:周四, 05/18/2023 - 17:12 ,关键词:

1、EEPROM 简介

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

2、EPROM 操作说明

2.1  通讯方式

主要通讯方式有 I2C 和 SPI 协议,本文将介绍如何通过 I2C 来驱动EEPROM。

2.2  设备地址

如果仅接入一个AT24C02,可以将设备的A0、A1、A2引脚全部接入低电平,那么此时该设备的地址为0xA0。

1.png

2.3  I2C配置流程

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

2.png

2.4  写入数据

  • 写入一个字节:

MCU先向AT24C02写入一个地址,然后再写入数据。

  • 写入一页:

MCU先向AT24C02写入一个地址,然后再依次写入数据,注意AT24C02一页有8个字节,每页开始地址均是8的整数倍,一次页写入操作地址不能超过当前页的尾地址。

  • 连续写入:

AT24C02本身没有提供连续写入的操作,因此必须先将数据按页地址分为若干页,然后再依次调用页写入操作进行写入。

3.png

2.5  读出数据

  • 读取当前字节:

MCU直接发起读操作,设备返回当前字节,当前字节自动加1,该操作较少使用。

  • 读取指定地址一个字节:

MCU先向AT24C02写入一个地址,然后再发起一个读操作,AT24C02返回该地址存储的字节。

  • 连续读取:

MCU发起读当前字节,或者读指定地址字节,设备返回数据,MCU发送ACK,设备继续返回后续地址数据,直到MCU发送NACK,设备不再返回数据。

4.png

2.6  样例测试

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

5.png

运行实例

6.png

来源:灵动MM32MCU

免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。

围观 17