top of page
블로그: Blog2

코인 Ticker 만들기 #10.EEPROM 제어하기

이번 강좌에서는 Wemos D1 mini 의 EEPROM 에 데이터를 저장(Write)하고 읽는(Read) 방법에 대해서 배워보도록 하겠습니다.


우선 Wemos D1 mini 의 EEPROM 용량을 아래 경로를 통해 살펴보면 4M(4096 byte) 임을 확인할 수 있습니다.


https://wiki.wemos.cc/products:retired:d1_mini_v2.2.0


4096 바이트를 사용할 수 있다는것은


0번째 주소부터 4095번째 주소까지 사용을 할 수 있으며


주소당 1byte 를 기록할 수 있다는 것입니다.


샘플 소스로 바로 넘어가 보도록 하겠습니다.


1. 아두이노 IDE 를 열고 파일 / 새파일 메뉴를 실행합니다.


2. 아래 소스코드를 아두이노 IDE 의 새파일에 복사해 넣습니다.

#include <EEPROM.h>


void setup() {

Serial.begin(115200);

EEPROM.begin(4096); // 0~4095

}


void loop() {


// EEPROM.write(addr, data);

EEPROM.write(10, 6); // data length write 0 address

EEPROM.write(11, 'k'); // data write 1 address

EEPROM.write(12, 'k'); // data write 2 address

EEPROM.write(13, 'a'); // data write 3 address

EEPROM.write(14, 'k'); // data write 4 address

EEPROM.write(15, 'j'); // data write 5 address

EEPROM.write(16, 'i'); // data write 6 address


EEPROM.commit();


delay(100);

int size = EEPROM.read(10);

Serial.print("size:");

Serial.println(size);


String strMsg;

for ( int i=0; i < size; i++ ){

strMsg += (char)(EEPROM.read(11+i));

}


Serial.print("msg:");

Serial.println(strMsg);

delay(1000);

}

3. 소스를 간단하게 설명드리면

10번째 주소에 data의 총 길이 6을 write 하고

11번째 주소 ~ 16번째 주소까지 kkakji 라는 문자열을 각각 분리해서 넣어줍니다.

commit 을 통해서 EEPROM 에 최종 기록하게 됩니다.

EEPROM의 10번째 주소에서 data size 를 읽어서 size 란 변수에 담고

시리얼 모니터로 size 를 출력해 줍니다.

strMsg 라는 스트링 변수에

for 반복문으로 EEPROM 에서 11번째 주소값부터 읽어서 char 로 변환한 후 순서대로 담아놓습니다.

마지막으로 시리얼을 통해 strMsg 를 출력해 줍니다.

4. 소스를 컴파일 하고 Wemos D1 mini 보드에 업로드 해줍니다.

- 컴파일 하려고 확인버튼을 누르면 소스를 저장하도록 하는데요.

적당한 위치에 eeprom_write.ino 라고 저장합니다.


5. 아두이노 IDE 에서 툴 / 시리얼 모니터 를 실행해 줍니다.


6. 아래와 같이 출력되는 것을 보실 수 있습니다.



이상으로 EEPROM 에 데이터를 저장(Write)하고 읽는(Read) 방법에 대해서 알아보았습니다.


감사합니다.

 
 
 

Comments


Join our mailing list

Never miss an update

뉴스레터 구독하기

최신 업데이트를 받아보세요!

대한민국 경기도 수원시 장안구 연무동 21 유천프라자 가동 508호

  • facebook
  • twitter
  • linkedin

©2018 by 윈드마켓. Proudly created with Wix.com

bottom of page