본문 바로가기
STMicro STM32

[EEPROM] M24128 I2C EEPRM 제어하기

by 소나무기운 2020. 11. 1.
반응형

안녕하세요.

 

EEPROM 제어는 기본이죠. 많이들 알고 계실거고 여기저기 자료도 많이 있죠.

자료 저장 차원에서 간단히 넣습니다.

 

메모리는 보통 bit단위로 표시하더라구요. 128Kbit, 16KB짜리 메모리네요.

EEPROM입니다.

속도가 빠른 RAM과는 비교되지만 비휘발성 메모리로 간단한 설정값들 저장하기엔 딱이죠.

 

I2C로 제어합니다.

I2C 클럭 400kHz 지원합니다.

HAL 드라이버 사용

STM32F767ZI 사용

 

M24128 datasheet

#define MEM_ADDR 0xA0

uint16_t i;

//-----------------------------------------------------------------------------------------------------
void Flash_Read(void)
{
  // 기본 값 읽어 오기
  HAL_I2C_Mem_Read(&hi2c1, MEM_ADDR, 0, 2, (uint8_t *)&i, sizeof(i), 500);
}

//-----------------------------------------------------------------------------------------------------
// EEPROM에 라이팅
void Flash_BootUpSave(void)
{
  HAL_StatusTypeDef eRcv;

  // 값 쓰기
  if (eRcv = HAL_I2C_Mem_Write(&hi2c1, MEM_ADDR, 0, 2, (uint8_t *)&i, sizeof(i), 500) != HAL_OK)
  {
    printf("EEPROM W Error!");
  }
}

 

기본 EEPROM 코드이므로 이상 무.

 

반응형

댓글