玩转STM32和EV24C MCU + EEPROM ST + EVASH

发布者:翠绿山水最新更新时间:2024-09-02 来源: elecfans关键字:STM32  MCU  EEPROM  ST 手机看文章 扫描二维码
随时随地手机看文章

简介

本指南旨在帮助您轻松上手使用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);

}


关键字:STM32  MCU  EEPROM  ST 引用地址:玩转STM32和EV24C MCU + EEPROM ST + EVASH

上一篇:STM32引脚中的BOOT1在哪里
下一篇:CH32和stm32的库函数一样吗?

推荐阅读最新更新时间:2026-03-25 11:23

STM32单片机(二)-ST_LINK V2连接与代码下载
硬件 如果你是买的正点原子的开发板,那跟着视频资料走就行。 如果觉得那个贵,自己也有基础,可以买一块这个stm32f103c8t6。加一个ST-Link。也就几十块。 再买些传感器,焊几个灯。做做实验够了。 我以前用过野火的板子。参加过电子设计竞赛,所以有点基础。 我用的板子:stm32f103c8t6 烧录器:传输代码的工具 ST-Link V2 需要安装驱动和资料:http://pan.baidu.com/s/1miya4OC#path=%252F 其他,传感器,LED等等。 使用 1、先把上面的驱动安装了,然后可以在设备管理器,找到你的设备 2、安装MDK5(我用的是这个,当然也
[单片机]
<font color='red'>STM32</font><font color='red'>单片机</font>(二)-<font color='red'>ST</font>_LINK V2连接与代码下载
关于STM32单片机不能用JLink和ST-Link下载程序的原因分析
最近一段时间给STM32单片机下载程序的时候,有的时候出现下载不了的情况,尝试过JLink+MDK,JLink+JFlash, ST-Link+MDK,ST-Link+ST-LINK Utility均不能实现程序下载。故障截图如下: 在本人当前的应用场景下,是因为STM32单片机的读保护功能启用了,通过ST-Link+ST-LINK Utility的Target-Option Bytes菜单查看读保护等级。当前的应用场景下,因为读保护功能设置为了level 1导致下载不了,如下图所示: 解决办法: (1)通过ST-Link+ST-LINK Utility将选项字节中的读保护等级设置为level0; (2
[单片机]
关于<font color='red'>STM32</font><font color='red'>单片机</font>不能用JLink和<font color='red'>ST</font>-Link下载程序的原因分析
ST完成STM32微控制器全系底层软件部署
意法半导体完成了将其免费底层应用程序接口(LL API,Low-Layer Application Programming Interface)软件导入支持所有的STM32微控制器(MCU)的STM32Cube软件包中。LL API软件让专业级开发人员能够在方便易用的STMCube™环境内开发应用,使用ST验证过的软件对最低到寄存器级的代码进行优化,从而缩短产品上市时间。 在所有的STM32Cube包内整合LL API和硬件抽象层(HAL)软件,让开发人员能够完全自由地选择外设控制方式。他们可以选择利用HAL的易用性和移植性,或采用LL API软件优化性能 、代码量和功耗。为相关STM32 Nucleo开发板订制的例
[单片机]
<font color='red'>ST</font>完成<font color='red'>STM32</font><font color='red'>微控制器</font>全系底层软件部署
意法半导体(ST)完成STM32微控制器全系底层软件部署
电子网消息,意法半导体完成了将其免费底层应用程序接口(LL API,Low-Layer Application Programming Interface)软件导入支持所有的STM32微控制器(MCU)的STM32Cube软件包中。LL API软件让专业级开发人员能够在方便易用的STMCube™环境内开发应用,使用ST验证过的软件对最低到寄存器级的代码进行优化,从而缩短产品上市时间。   在所有的STM32Cube包内整合LL API和硬件抽象层(HAL)软件,让开发人员能够完全自由地选择外设控制方式。他们可以选择利用HAL的易用性和移植性,或采用LL API软件优化性能 、代码量和功耗。为相关STM32 Nucleo
[半导体设计/制造]
ST推出新系列STM32微控制器 为物联网设备提供创记录的处理性
STM32 H7新系列产品成为ARM Cortex -M内核微控制器性能新标杆 大容量片上存储器,丰富的通信外设,为物联网设备提供先进安全服务 中国,2016年10月21日 横跨多重电子应用领域、全球领先的半导体供应商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)推出新的运算性能创记录的STM32H7系列微控制器。新系列内置STM32平台中存储容量最高的SRAM(1MB)、高达2MB闪存和种类最丰富的通信外设,为实现让智慧更高的智能硬件无处不在的目标铺平道路。 意法半导体自主研发的非常先进的40nm芯片制造工艺,结合产品架构创新,使新系列产品运算性能
[单片机]
<font color='red'>ST</font>推出新系列<font color='red'>STM32</font><font color='red'>微控制器</font> 为物联网设备提供创记录的处理性
ST和Arduino联手扩宽创客社区使用STM32微控制器和传感器的途径
2016年6月30日,致力于为创客提供更多创造空间,横跨多重电子应用领域、全球领先的半导体供应商意法半导体 (STMicroelectronics,简称ST)和教育、创客和物联网市场最大的开源生态系统Arduino公司,宣布了一项合作协议,让业界领先的STM32系列微控制器(MCU)以及意法半导体的传感器、功率器件和通信连接技术走近Arduino创客社区。STAR (ST和Arduino的前两个字母组合)开发项目的首款产品基于STM32F469的STAR Otto基板于近日向公众展出。现在,物联网开发人员和创客可以在他们的智能硬件内创建高性能图形功能,使用容易上手的软硬件开发好用的触屏和声控以及媒体流功能,改进他们的应用设计。
[物联网]
<font color='red'>ST</font>和Arduino联手扩宽创客社区使用<font color='red'>STM32</font><font color='red'>微控制器</font>和传感器的途径
ST免费的开发工具让开发者在所有桌面环境使用STM32微控制器
中国,2016年5月24日 横跨多重电子应用领域、全球领先的半导体供应商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)为Mac计算机用户推出了STM32微控制器免费开发工具。现在,苹果电脑用户可以以自己的熟悉(及喜爱)的作业环境开发嵌入式设计。 苹果OS X版STM32开发工具支持嵌入式设计全部流程,组件包括STM32CubeMX图形配置工具和System Workbench for STM32 集成开发环境。开发环境所含驱动程序让用户能够直接使用意法半导体的调试和编程工具。开发工具安装简单,容易上手,相当符合OS X用户的预期。 这是继不久前发布Linux版STM32开
[嵌入式]
<font color='red'>ST</font>免费的开发工具让开发者在所有桌面环境使用<font color='red'>STM32</font><font color='red'>微控制器</font>
大联大友尚集团推出ST STM32 F4系列中的最小微控制器
2016年3月15日,致力于亚太地区市场的领先半导体元器件分销商---大联大控股宣布,其旗下友尚推出ST STM32 F4系列中最小的微控制器---STM32F410,并同时搭配其最新开发板---NUCLEO-F410RB,以帮助客户实现尺寸更小,功耗更低且更高性能的产品。 大联大友尚代理的STM32F410搭载ARM Cortex -M4F处理器内核,在100MHz时指令周期可达125 DMIPS,并在EEMBC CoreMark 测试中取得339分的优异成绩。具有功耗意识(Power-conscious)的STM32 Dynamic Efficiency 特性,例如意法半导体的ART Accelerator 和电压调整,可
[单片机]
大联大友尚集团推出<font color='red'>ST</font> <font color='red'>STM32</font> F4系列中的最小<font color='red'>微控制器</font>
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved