0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

MM32G0140 I2C驱动EEPROM

灵动MM32MCU 来源:灵动MM32MCU 2023-05-19 09:22 次阅读

1EEPROM 简介

EEPROM全称为EEPROM(Electrically Erasable Programmable Read Only Memory)是电可擦除可编程只读存储器。虽然名称为只读存储器,但是擦除和写入都是直接使用电路控制,不需要再使用外部设备来擦写,即设备在运行过程中即可随时擦除和写入。可以按字节为单位修改数据,无需整个芯片擦除,且掉电后数据不丢失,一般用来存储一些配置信息,以便系统重新上电的时候加载。

2EPROM 操作说明

2.1 通讯方式

主要通讯方式有 I2C 和 SPI 协议,本文将介绍如何通过 I2C 来驱动EEPROM。

2.2 设备地址

如果仅接入一个AT24C02,可以将设备的A0、A1、A2引脚全部接入低电平,那么此时该设备的地址为0xA0。

f4ce9f0c-f574-11ed-90ce-dac502259ad0.png    

2.3 I2C配置流程

开时钟,外设清零,参数配置,初始化,引脚配置,使能

f4d3f56a-f574-11ed-90ce-dac502259ad0.png    

2.4 写入数据

写入一个字节:

MCU先向AT24C02写入一个地址,然后再写入数据。

写入一页:

MCU先向AT24C02写入一个地址,然后再依次写入数据,注意AT24C02一页有8个字节,每页开始地址均是8的整数倍,一次页写入操作地址不能超过当前页的尾地址。

连续写入:

AT24C02本身没有提供连续写入的操作,因此必须先将数据按页地址分为若干页,然后再依次调用页写入操作进行写入。

f4d9dc64-f574-11ed-90ce-dac502259ad0.png    

2.5 读出数据

读取当前字节:

MCU直接发起读操作,设备返回当前字节,当前字节自动加1,该操作较少使用。

读取指定地址一个字节:

MCU先向AT24C02写入一个地址,然后再发起一个读操作,AT24C02返回该地址存储的字节。

连续读取:

MCU发起读当前字节,或者读指定地址字节,设备返回数据,MCU发送ACK,设备继续返回后续地址数据,直到MCU发送NACK,设备不再返回数据。

f4e13c66-f574-11ed-90ce-dac502259ad0.png    

2.6 样例测试

初始化两个数组,配置I2C,调用写入和读取的函数操作EEPROM,通过串口打印观察结果。

f4e6049e-f574-11ed-90ce-dac502259ad0.png

运行实例

f4eaa012-f574-11ed-90ce-dac502259ad0.png

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    447

    文章

    47804

    浏览量

    409173
  • 存储器
    +关注

    关注

    38

    文章

    7151

    浏览量

    162002
  • 通讯
    +关注

    关注

    9

    文章

    840

    浏览量

    34372
  • EEPROM
    +关注

    关注

    9

    文章

    928

    浏览量

    80329
  • I2C
    I2C
    +关注

    关注

    28

    文章

    1347

    浏览量

    120846

原文标题:灵动微课堂 (第256讲)|MM32G0140 I2C驱动EEPROM

文章出处:【微信号:MindMotion-MMCU,微信公众号:灵动MM32MCU】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    i2cEEPROM读写,计数

    i2cEEPROM读写,计数,附程序代码
    发表于 11-30 15:01

    I2C

                    Boot from i2c EEPROM at I2c bus address 0x50
    发表于 06-24 01:28

    使用CyControl编程I2C串行EEPROM导致失败

    我用cycontrol程序程序I2C串行EEPROM在我开发的系统有问题。它似乎正常(检查I2C的SCL和SDA与示波器)但它总会导致失败。有人有任何想法来帮助解决这个问题吗?这种方法适合
    发表于 02-20 14:10

    I2C协议以及I2C读写EEPROM

    I2C协议以及I2C读写EEPROM实验文章目录I2C协议以及I2C读写EEPROM实验
    发表于 08-23 08:25

    如何使用I2C总线来控制EEPROM芯片

    I2C总线是什么?如何使用I2C总线来控制EEPROM芯片?有哪些步骤?
    发表于 10-19 07:33

    I2C总线驱动和设备驱动

    为400kbit/s常见iic设备eeprom触摸芯片温湿度传感器mpu6050(姿态传感器)…框架图I2C核心提供I2C总线驱动和设备驱动
    发表于 12-13 06:18

    在设备树中声明i2c eeprom驱动该怎样去实现呢

    如何在设备树中声明i2c eeprom驱动?求大神解答
    发表于 12-31 06:30

    请问如何在设备树中声明i2c eeprom驱动

    [td]如何在设备树中声明i2c eeprom驱动[/td]
    发表于 01-13 08:49

    MM32G0140 产品手册(中文版)

    MM32G0140 产品手册(中文版)
    发表于 02-27 18:18 0次下载
    <b class='flag-5'>MM32G0140</b> 产品手册(中文版)

    MM32G0140 产品手册(英文版)

    MM32G0140 产品手册(英文版)
    发表于 02-27 18:19 0次下载
    <b class='flag-5'>MM32G0140</b> 产品手册(英文版)

    MM32G0140 用户手册(中文版)

    MM32G0140 用户手册(中文版)
    发表于 02-27 18:20 0次下载
    <b class='flag-5'>MM32G0140</b> 用户手册(中文版)

    MM32G0140 用户手册(英文版)

    MM32G0140 用户手册(英文版)
    发表于 02-27 18:20 0次下载
    <b class='flag-5'>MM32G0140</b> 用户手册(英文版)

    32位单片机MM32G0140免费申请样品及开发板

    灵动微电子MM32G0140采用内核M0,主频可高达72MHz;工作温度可高达105℃,符合扩展工业级的标准;全系列配备了更高性能的模拟功能,如+-1%精度的HSI高速内部晶振;更先进的通信外设
    的头像 发表于 04-07 17:05 2133次阅读
    32位单片机<b class='flag-5'>MM32G0140</b>免费申请样品及开发板

    灵动微MM32G0140完美替换兼容STM32G031系列

    灵动微MM32G0140可完美替换兼容STM23G031系列,MM32G0140所集成的FlexCAN-FD提供了更快的通信速度、更长的数据长度和更多的帧格式等优势。ADC为电机应用做了优化,支持
    的头像 发表于 04-07 17:33 636次阅读
    灵动微<b class='flag-5'>MM32G0140</b>完美替换兼容STM32G031系列

    MM32G0140 I2C驱动EEPROM

    EEPROM全称为EEPROM(Electrically Erasable Programmable Read Only Memory)是电可擦除可编程只读存储器。
    发表于 05-30 11:15 424次阅读
    <b class='flag-5'>MM32G0140</b> <b class='flag-5'>I2C</b><b class='flag-5'>驱动</b><b class='flag-5'>EEPROM</b>