# 使用I2C协议读写 EEPROM **Repository Path**: leroi64/I2C_EEPROM ## Basic Information - **Project Name**: 使用I2C协议读写 EEPROM - **Description**: EEPROM 是一种掉电后数据不丢失的存储器,常用来存储一些配置信息,以便系统重新上电的时候加载之。 EEPOM芯片最常用的通讯方式就是 I2C协议, STM32 的 I2C 使用方法读写EEPROM。 STM32 的 I2C 外设采用主模式,分别用作主发送器和主接收器, 通过查询事件的方式来确保正常通讯。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2021-11-21 - **Last Updated**: 2025-08-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 使用I2C协议读写 EEPROM #### 介绍 EEPROM 是一种掉电后数据不丢失的存储器,常用来存储一些配置信息,以便系统重新上电的时候加载之。 EEPOM芯片最常用的通讯方式就是 I2C协议, STM32 的 I2C 使用方法读写EEPROM。 STM32 的 I2C 外设采用主模式,分别用作主发送器和主接收器, 通过查询事件的方式来确保正常通讯。 #### 硬件说明 EEPROM 芯片(型号: AT24C02)的 SCL 及 SDA 引脚连接到了 STM32 对应的 I2C引脚中,结合上拉电阻,构成了 I2C通讯总线,它们通过 I2C总线交互。 EEPROM芯片的设备地址一共有 7 位,其中高 4 位固定为: 1010 b,低 3 位则由 A0/A1/A2 信号线的电平决定, R/W 是读写方向位,与地址无关。 #### 编程要点 ###### (1) 配置通讯使用的目标引脚为开漏模式; ###### (2) 使能 I2C 外设的时钟; ###### (3) 配置 I2C 外设的模式、地址、速率等参数并使能 I2C 外设; ###### (4) 编写基本 I2C 按字节收发的函数; ###### (5) 编写读写 EEPROM 存储内容的函数; ###### (6) 编写测试程序,对读写数据进行校验。 #### 效果 用 USB 线连接开发板“USB TO UART”接口跟电脑,在电脑端打开串口调试助手, 把编译好的程序下载到开发板。在串口调试助手可看到 EEPROM 测试的调试信息 ![输入图片说明](https://images.gitee.com/uploads/images/2021/1121/124901_07c74420_8762665.png "屏幕截图.png") #### 后续还有