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

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

3天内不再提示

玩转STM32和EV24C MCU + EEPROM ST + EVASH

曾中 来源:jf_76391252 作者:jf_76391252 2024-07-01 09:58 次阅读


简介

本指南旨在帮助您轻松上手使用STM32微控制器和EVASH的EV24C系列EEPROM芯片。通过本教程,您将学习如何在实际项目中使用这些组件,逐步掌握从基本到高级的操作技巧。

必备材料

STM32开发板(如STM32F103C8T6)

EVASH EV24C256A EEPROM开发套件

连接线(杜邦线)

基本电子工具(烙铁、万用表等)

开发板与EEPROM连接

将STM32开发板与EV24C256A EEPROM开发板按以下方式连接:

VDD (开发板) 连接 VDD (EEPROM)

GND (开发板) 连接 GND (EEPROM)

SCL (开发板) 连接 SCL (EEPROM)

SDA (开发板) 连接 SDA (EEPROM)

基本操作

1. 初始化I2C

在STM32上初始化I2C接口,代码如下:

c复制代码

#include "stm32f1xx_hal.h"I2C_HandleTypeDef hi2c1;void MX_I2C1_Init(void)

{

hi2c1.Instance = I2C1;

hi2c1.Init.ClockSpeed = 100000;

hi2c1.Init.DutyCycle = I2C_DUTYCYCLE_2;

hi2c1.Init.OwnAddress1 = 0;

hi2c1.Init.AddressingMode = I2C_ADDRESSINGMODE_7BIT;

hi2c1.Init.DualAddressMode = I2C_DUALADDRESS_DISABLE;

hi2c1.Init.OwnAddress2 = 0;

hi2c1.Init.GeneralCallMode = I2C_GENERALCALL_DISABLE;

hi2c1.Init.NoStretchMode = I2C_NOSTRETCH_DISABLE;

if (HAL_I2C_Init(&hi2c1) != HAL_OK)

{

// Initialization Error

Error_Handler();

}

}

2. 读写EEPROM

读取和写入EEPROM的函数:

c复制代码

HAL_StatusTypeDef EEPROM_Write(uint16_t MemAddress, uint8_t *pData, uint16_t Size)

{

return HAL_I2C_Mem_Write(&hi2c1, EEPROM_ADDRESS, MemAddress, I2C_MEMADD_SIZE_16BIT, pData, Size, HAL_MAX_DELAY);

}HAL_StatusTypeDef EEPROM_Read(uint16_t MemAddress, uint8_t *pData, uint16_t Size)

{

return HAL_I2C_Mem_Read(&hi2c1, EEPROM_ADDRESS, MemAddress, I2C_MEMADD_SIZE_16BIT, pData, Size, HAL_MAX_DELAY);

}

进阶操作

1. 页写操作

EEPROM页写功能允许一次写入多字节数据,提高写入效率。

c复制代码

#define EEPROM_PAGE_SIZE 64HAL_StatusTypeDef EEPROM_PageWrite(uint16_t MemAddress, uint8_t *pData, uint16_t Size)

{

uint16_t remaining = Size;

while (remaining > 0)

{

uint16_t write_size = remaining > EEPROM_PAGE_SIZE ? EEPROM_PAGE_SIZE : remaining;

if (HAL_I2C_Mem_Write(&hi2c1, EEPROM_ADDRESS, MemAddress, I2C_MEMADD_SIZE_16BIT, pData, write_size, HAL_MAX_DELAY) != HAL_OK)

{

return HAL_ERROR;

}

remaining -= write_size;

pData += write_size;

MemAddress += write_size;

HAL_Delay(5); // 延时以确保写入完成

}

return HAL_OK;

}

2. 自动地址递增读取

使用自动地址递增功能可连续读取EEPROM中的数据。

c复制代码

HAL_StatusTypeDef EEPROM_SequentialRead(uint16_t MemAddress, uint8_t *pData, uint16_t Size)

{

return HAL_I2C_Mem_Read(&hi2c1, EEPROM_ADDRESS, MemAddress, I2C_MEMADD_SIZE_16BIT, pData, Size, HAL_MAX_DELAY);

}

审核编辑 黄宇

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

    关注

    146

    文章

    16243

    浏览量

    345548
  • STM32
    +关注

    关注

    2250

    文章

    10727

    浏览量

    350461
  • EEPROM
    +关注

    关注

    9

    文章

    960

    浏览量

    80750
收藏 人收藏

    评论

    相关推荐

    ST MCU Finder简介

    ST MCU Finder 是 ST MCU生态系统中的选型工具,也内嵌在STM32CubeMX 和
    发表于 09-05 10:18 1656次阅读

    ST24C04 pdf

    This specification covers a range of 4 Kbits I2C bus EEPROM products, the ST24/25C04 and the ST24
    发表于 12-14 15:49 49次下载
    <b class='flag-5'>ST24</b>C04 pdf

    通过一个案例教你玩转MCU代码生成工具(基于STM32

    通过一个案例教你玩转MCU代码生成工具(基于STM32
    发表于 11-18 17:36 12次下载
    通过一个案例教你<b class='flag-5'>玩转</b><b class='flag-5'>MCU</b>代码生成工具(基于<b class='flag-5'>STM32</b>)

    ST已发布基于PC端的ST MCU选型工具

    ST MCU的整个开发生态系统里,跟STM32CubeMx及HAL库一样,无异于又是一个惊人之作!给准备学习和使用ST MCU的人带来极大
    发表于 12-27 19:07 7次下载
    <b class='flag-5'>ST</b>已发布基于PC端的<b class='flag-5'>ST</b> <b class='flag-5'>MCU</b>选型工具

    EV24C512A Ultra EEPROM 在移动电池和家庭储能电池 BMS 保护板中的应用

    EV24C512A Ultra EEPROM 在移动电池和家庭储能电池 BMS 保护板中的应用
    的头像 发表于 06-23 16:37 182次阅读

    EVASH Ultra EEPROM 在无线麦克风方案中的应用

    EVASH Ultra EEPROM 在无线麦克风方案中的应用
    的头像 发表于 06-23 17:16 355次阅读

    EVASH Ultra EEPROM和Microchip 32位MCU在功放产品中的大批量应用

    EVASH Ultra EEPROM和Microchip 32位MCU在功放产品中的大批量应用
    的头像 发表于 06-24 17:39 164次阅读

    BMS保护板厂家收藏 EVASH Ultra EEPROM 应用

    BMS保护板厂家收藏 EVASH Ultra EEPROM 应用
    的头像 发表于 06-25 16:37 109次阅读

    科普 EVASH Ultra EEPROM 晶圆生产过程

    科普 EVASH Ultra EEPROM 晶圆生产过程
    的头像 发表于 06-26 10:16 101次阅读

    EVASH Ultra EEPROM:助力ChatGPT等AI应用的嵌入式存储解决方案

    EVASH Ultra EEPROM:助力ChatGPT等AI应用的嵌入式存储解决方案
    的头像 发表于 06-26 18:13 550次阅读

    EVASH + 云汉芯城战略合作 购买EVASH Ultra EEPROM,解决采购难题,轻松获取高性能存储解决方案!

    EVASH + 云汉芯城战略合作 购买EVASH Ultra EEPROM,解决采购难题,轻松获取高性能存储解决方案!
    的头像 发表于 06-26 18:38 53次阅读

    EVASH Ultra EEPROM在激光打印机中的应用

    EVASH EEPROM在激光打印机中的应用 随着打印技术的不断发展,激光打印机因其高效、高质量的打印效果成为了办公室和商业环境中的主流选择。在激光打印机的核心部件中,存储技术起着至关重要的作用
    的头像 发表于 06-27 08:16 95次阅读

    EVASH Ultra EEPROM应用哪些电子产品?

    EVASH Ultra EEPROM应用哪些电子产品?
    的头像 发表于 06-27 12:55 59次阅读

    玩转EEPROM——全面指南

    玩转EEPROM——全面指南 EEPROM(电可擦除可编程只读存储器)是一种能够在断电后保存数据的存储器,广泛应用于存储配置参数和少量数据的场景。本文将带您深入了解EEPROM的基础知
    的头像 发表于 07-01 09:36 96次阅读
    <b class='flag-5'>玩转</b><b class='flag-5'>EEPROM</b>——全面指南

    EVASH Ultra EEPROM:被Google认定为五大硬件厂商之一

    EVASH Ultra EEPROM:被Google认定为五大硬件厂商之一
    的头像 发表于 07-01 12:47 29次阅读