0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

玩轉STM32和EV24C MCU + EEPROM ST + EVASH

曾中 ? 來源:jf_76391252 ? 作者:jf_76391252 ? 2024-07-01 09:58 ? 次閱讀


簡介

本指南旨在幫助您輕松上手使用STM32微控制器和EVASH的EV24C系列EEPROM芯片。通過本教程,您將學習如何在實際項目中使用這些組件,逐步掌握從基本到高級的操作技巧。

必備材料

STM32開發(fā)板(如STM32F103C8T6)

EVASH EV24C256A EEPROM開發(fā)套件

連接線(杜邦線)

基本電子工具(烙鐵、萬用表等)

開發(fā)板與EEPROM連接

將STM32開發(fā)板與EV24C256A EEPROM開發(fā)板按以下方式連接:

VDD (開發(fā)板) 連接 VDD (EEPROM)

GND (開發(fā)板) 連接 GND (EEPROM)

SCL (開發(fā)板) 連接 SCL (EEPROM)

SDA (開發(fā)板) 連接 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的函數(shù):

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頁寫功能允許一次寫入多字節(jié)數(shù)據(jù),提高寫入效率。

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. 自動地址遞增讀取

使用自動地址遞增功能可連續(xù)讀取EEPROM中的數(shù)據(jù)。

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);

}

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    146

    文章

    16885

    瀏覽量

    349918
  • STM32
    +關注

    關注

    2264

    文章

    10854

    瀏覽量

    354294
  • EEPROM
    +關注

    關注

    9

    文章

    1008

    瀏覽量

    81335
收藏 人收藏

    評論

    相關推薦

    ST24C04 pdf

    This specification covers a range of 4 Kbits I2C bus EEPROM products, the ST24/25C04 and the
    發(fā)表于 12-14 15:49 ?49次下載
    <b class='flag-5'>ST24C</b>04 pdf

    STM32入門開發(fā): 采用IIC硬件時序讀寫AT24C08(EEPROM)

    STM32入門開發(fā): 采用IIC硬件時序讀寫AT24C08(EEPROM)
    發(fā)表于 11-21 13:51 ?47次下載
    <b class='flag-5'>STM32</b>入門開發(fā): 采用IIC硬件時序讀寫AT<b class='flag-5'>24C</b>08(<b class='flag-5'>EEPROM</b>)

    STM32入門開發(fā): 介紹IIC總線、讀寫AT24C02(EEPROM)(采用模擬時序)

    時序的,本文采用的是模擬時序,下篇文章就介紹配置STM32的IIC硬件時序讀寫AT24C02和AT24C08。模擬時序更加方便移植到其他單片機,通用性更高,不分MCU;硬件時序效率更高
    發(fā)表于 11-25 20:06 ?39次下載
    <b class='flag-5'>STM32</b>入門開發(fā): 介紹IIC總線、讀寫AT<b class='flag-5'>24C</b>02(<b class='flag-5'>EEPROM</b>)(采用模擬時序)

    EV24C512A Ultra EEPROM 在移動電池和家庭儲能電池 BMS 保護板中的應用

    EV24C512A Ultra EEPROM 在移動電池和家庭儲能電池 BMS 保護板中的應用
    的頭像 發(fā)表于 06-23 16:37 ?894次閱讀

    EVASH Ultra EEPROM 在無線麥克風方案中的應用

    EVASH Ultra EEPROM 在無線麥克風方案中的應用
    的頭像 發(fā)表于 06-23 17:16 ?581次閱讀

    EVASH Ultra EEPROM和Microchip 32位MCU在功放產(chǎn)品中的大批量應用

    EVASH Ultra EEPROM和Microchip 32位MCU在功放產(chǎn)品中的大批量應用
    的頭像 發(fā)表于 06-24 17:39 ?359次閱讀

    BMS保護板廠家收藏 EVASH Ultra EEPROM 應用

    BMS保護板廠家收藏 EVASH Ultra EEPROM 應用
    的頭像 發(fā)表于 06-25 16:37 ?272次閱讀

    科普EEPROM 科普 EVASH Ultra EEPROM?科普存儲芯片

    科普EEPROM 科普 EVASH Ultra EEPROM?科普存儲芯片
    的頭像 發(fā)表于 06-25 17:14 ?475次閱讀

    科普 EVASH Ultra EEPROM 晶圓生產(chǎn)過程

    科普 EVASH Ultra EEPROM 晶圓生產(chǎn)過程
    的頭像 發(fā)表于 06-26 10:16 ?369次閱讀

    EVASH + 云漢芯城戰(zhàn)略合作 購買EVASH Ultra EEPROM,解決采購難題,輕松獲取高性能存儲解決方案!

    EVASH + 云漢芯城戰(zhàn)略合作 購買EVASH Ultra EEPROM,解決采購難題,輕松獲取高性能存儲解決方案!
    的頭像 發(fā)表于 06-26 18:38 ?304次閱讀

    EVASH Ultra EEPROM應用哪些電子產(chǎn)品?

    EVASH Ultra EEPROM應用哪些電子產(chǎn)品?
    的頭像 發(fā)表于 06-27 12:55 ?308次閱讀

    EVASH Ultra EEPROM 開發(fā)板使用說明書 簡介

    EVASH Ultra EEPROM 開發(fā)板使用說明書 簡介 歡迎使用EVASH Ultra EEPROM開發(fā)板使用說明書。本說明書將為您提供使用搭載
    的頭像 發(fā)表于 07-01 09:39 ?429次閱讀

    玩轉EEPROM——全面指南

    玩轉EEPROM——全面指南 EEPROM(電可擦除可編程只讀存儲器)是一種能夠在斷電后保存數(shù)據(jù)的存儲器,廣泛應用于存儲配置參數(shù)和少量數(shù)據(jù)的場景。本文將帶您深入了解EEPROM的基礎知
    的頭像 發(fā)表于 07-01 09:36 ?2196次閱讀
    <b class='flag-5'>玩轉</b><b class='flag-5'>EEPROM</b>——全面指南

    國內(nèi)芯片行業(yè)的過去、現(xiàn)狀與未來:EVASH Ultra EEPROM的視角

    國內(nèi)芯片行業(yè)的過去、現(xiàn)狀與未來:EVASH Ultra EEPROM的視角
    的頭像 發(fā)表于 08-12 17:51 ?555次閱讀

    探索存儲新未來:為何EVASH EV24C256A EEPROM成為市場新寵

    探索存儲新未來:為何EVASH EV24C256A EEPROM成為市場新寵
    的頭像 發(fā)表于 09-05 15:31 ?251次閱讀