灵动微课堂 (第256讲)|MM32G0140 I2C驱动EEPROM
来源:灵动MM32MCU发布时间:2023-05-182758浏览
询问 AI
点击蓝字添加“星标★” 关注我们
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,通过串口打印观察结果。

运行实例

往期精彩
第255讲|MM32SPIN0280内部时钟捕获外部HSE时钟
第252讲|开源项目:基于MM32F0160微控制器的机械键盘
第251讲|为MindSDK搭建armgcc编译环境(Windows版)
第250讲|mm32-2nd-bootloader技术白皮书(6)——总结及注意事项
第249讲|mm32-2nd-bootloader技术白皮书(5)——编译可在QSPI Flash上运行的程序
第248讲|mm32-2nd-bootloader技术白皮书(4)——设计实现简单的2nd bootloader
第247讲|mm32-2nd-bootloader技术白皮书(3)——设计实现QSPI Flash的下载算法
第246讲|mm32-2nd-bootloader技术白皮书(2)——QSPI外设简介
第245讲|mm32-2nd-bootloader技术白皮书(1)——配置软硬件环境
公众号推送机制改版
感兴趣的动态频频“失联”?
简单两步点亮“星标★”
不再错过每一篇灵动动态!

关于灵动
上海灵动微电子股份有限公司成立于 2011 年,是中国本土领先的通用 32 位 MCU 产品及解决方案供应商。公司基于 Arm Cortex-M 系列内核开发的 MM32 MCU 产品拥有 F/G/L/A/SPIN/W 六大系列,目前已量产近 300多款型号,累计交付超 4 亿颗,每年都有近亿台配备了灵动 MM32MCU 的优秀产品交付到客户手中,在本土通用 32 位 MCU 公司中位居前列。

灵动客户涵盖智能工业、汽车电子、通信基建、医疗健康、智慧家电、物联网、个人设备、手机和电脑等应用领域。灵动是中国为数不多的同时获得了 Arm-KEIL、IAR、SEGGER 官方支持的本土 MCU 公司,并建立了独立、完整的通用 MCU 生态体系。灵动始终秉承着“诚信、承诺、创新、合作”的精神,为客户提供从硬件芯片到软件算法、从参考方案到系统设计的全方位支持。

灵动股份
微信号:MindMotion-MMCU


长按识别二维码关注我们

MORE
官网:www.mm32mcu.com
微信公众号:灵动MM32MCU
灵动MM32MCU技术论坛:
bbs.21ic.com/iclist-696-1.html
新闻来源:灵动MM32MCU,文中所述为作者独立观点,不代表icspec立场。更多精彩资讯请下载icspec App。如对本稿件有异议,请联系微信客服specltkj。

