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。
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,通过串口打印观察结果。
运行实例
作者:灵动MM32
文章来源:灵动MM32MCU
推荐阅读
- 灵动微课堂 |MM32SPIN0280内部时钟捕获外部HSE时钟
- 灵动股份推出基于STAR-MC1的MM32G5330
- 灵动微课堂|为MindSDK搭建Keil MDK开发环境
- 灵动微课堂 |Mini-F0160实现USB转3路虚拟串口
- 灵动微课堂 |开源项目:基于MM32F0160微控制器的机械键盘
更多MM32F5系列资料请关注灵动MM32 MCU专栏。如想进行MM32相关芯片技术交流,请添加极术小姐姐微信(id:aijishu20)加入微信群。