[아두이노] 31. EEPROM 비휘발성 메모리 사용 (4byte 저장)
EEPROM (Electrically Erasable Programmable Read-Only Memory) 이하 비휘발성 메모리(NVM)라고 한다.
전기가 꺼져도 데이터를 저장하고 있으며 다음에 다시 전기가 들어오면 읽고 와서 사용할 수 있다.
컴퓨터로 따진다면 하드디스크 또는 SSD 저장장치, 플로피 디스켓 정도로 이해하면 되나, 해당 소자는 IC 칩을 사용하므로 외형은 조금 다르다.
데이터 읽기 쓰기는 전기적 신호로 읽고 쓰기를 진행하며 한번에 1byte 씩만 지우고 쓰고 할 수 있으므로 플래쉬 메모리에 비해 속도가 느리다.
약 10만번 정도 읽고 쓸 수 있는 횟수가 제한적으로 정해져있다. 그래서 보통 아두이노에 사용되는 EEPROM의 경우 외부 EEPROM을 따로 판매하며 가격도 약 3천원 내외로 저렴한 편이다.
보통 기본적으로 많이 사용하는 아두이노 UNO 보드의 경우 EEPROM 이 512byte 내장되어 있으며, 비싼 Mega 보드의 경우 4Kbyte 가 내장되어 있다.
용량이 문제라면 위 외장 보드 3천원 짜리가 256 KByte 하므로 추가로 달아서 사용하는걸 가장 추천한다.
EEPROM 기본 읽기 쓰기
여기서는 가장 많이 사용하는 아두이노 UNO 보드를 사용하여 EEPROM을 다루는 것을 알아보도록 하겠습니다.
생각보다 사용법은 간단합니다.
#include <EEPROM.h>
idx 는 주소값, val 은 저장할 데이터 입니다.
EEPROM을 사용하여 내가 만든 시스템의 설정 값들을 저장하고 불러오고 하는데 사용할 수 있을 것입니다.
EEPROM 4Byte 읽기 쓰기
다음은 4바이트 값을 저장하는 것을 알아 보도록 하겠습니다. 아두이노는 기본적으로 1byte씩 저장하고 읽어오도록 되어 있습니다. 하지만 비트쉬프트를 사용해서 4바이트 혹은 8바이트 등까지 저장하고 읽어올 수 있습니다.
소스코드 입니다.
'임베디드 > 아두이노' 카테고리의 다른 글
[아두이노] 33. 병아리 부화기 및 육추기 겸용 만들기 (1) 준비물 (0) | 2024.05.16 |
---|---|
[아두이노] 32. 릴레이를 사용하여 220V 전구 제어하기 (1) | 2024.04.28 |
[아두이노] 30. IR 센서 + lcd 모듈 응용 예제 (1) | 2021.03.27 |
[아두이노] 29. wifi 모듈 esp-01, esp-8266 사용하기 (0) | 2021.03.25 |
[아두이노] 28. 블루투스 모듈 4.0 BLE cc2541 (0) | 2021.02.01 |