本帖最后由 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,通过串口打印观察结果。
运行实例 |