• 카테고리

    질문 & 답변
  • 세부 분야

    임베디드 · IoT

  • 해결 여부

    미해결

EEPROM Page Write 관련 질문

21.01.25 02:14 작성 조회수 220

1

unsigned char devAddress = ((page*16)>>8)<<1 | 0xA0; 

HAL_I2C_Mem_Write(&hi2c1, devAddress, wordAddress, I2C_MEMADD_SIZE_8BIT, &data[0], sizeof(data), 1);

HAL_I2C_Mem_Read(&hi2c1, devAddress, wordAddress, I2C_MEMADD_SIZE_8BIT, &data[0], sizeof(data), 1);

이 부분에서, R/W bit(don't care) 때문에 "<<1" 한 것은 이해하겠는데, 해당 devAddress를 바로 I2C Write 함수에 넣으면

R/W bit는 '0'이 되어 항상 쓰기 아닌가요?

이 부분이 I2C Read에도 그대로 적용되어서 R/W bit에는 계속 '0'이 들어갈텐데 어떻게 Read를 하는지 궁금합니다.

답변 2

·

답변을 작성해보세요.

0

안녕하세요! 네 맞습니다. I2C 는 통신 프로토콜이 정해져있어서 HAL 드라이버함수 내에서 처리해줍니다. 잘 이해하셨습니다!

0

JIN님의 프로필

JIN

질문자

2021.01.25

강의 7-1 을 다시 보니, 해당 비트 부분은 어떤값이 들어와도 HAL_Driver 내에서 처리해주는 거군요. 맞나요?