
下面我们再来了解下开发板上的 AT24C02 芯片。 AT24C01/02/04/08/16...是一个 1K/2K/4K/8K/16K 位串行 CMOS,内部含有128/256/512/1024/2048 个 8 位字节,AT24C01 有一个 8 字节页写缓冲器,AT24C02/04/08/16 有一个16字节页写缓冲器。该器件通过 I2C 总线接口进行操作,它有一个专门的写保护功能。我们开发板上使用的是 AT24C02(EEPROM)芯片,此芯片具有 I2C 通信接口,芯片内保存的数据在掉电情况下都不丢失,所以通常用于存放一些比较重要的数据等。AT24C02 芯片管脚及外观图如图所示: ![]() 芯片管脚说明如下图所示: ! l3 `$ c/ U& C# ~ f3 a ![]() AT24C02 器件地址为7位,高 4 位固定为 1010,低 3 位由 A0/A1/A2信号线的电平决定。因为传输地址或数据是以字节为单位传送的,当传送地址时,器件地址占7 位,还有最后一位(最低位 R/W)用来选择读写方向,它与地址无关。其格式如下: ![]() 我们开发板已经将芯片的A0/A1/A2 连接到 GND,所以器件地址为1010000,即 0x50(未计算最低位)。如果要对芯片进行写操作时,R/W 即为 0,写器件地址即为0XA0;如果要对芯片进行读操作时, R/W 即为 1, 此时读器件地址为0XA1。 开发板上我们也将 WP引脚直接接在 GND 上,此时芯片允许数据正常读写。I2C 总线时序如图所示: T+ i* O3 J* D9 F ![]() ![]() 关于 AT24C02(EEPROM)的更多信息,可参考“\6--芯片资料”内 24C02数据手册来了解。 |
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
刘氓兔的64位入门挑战【1】——MP257芯片下单和硬件准备
刘氓兔的64位入门挑战【0】——MP257选型
STM32功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享
HRTIM 指南