Page 60 - 최강 아두이노 퍼스트 참고서
P. 60
A14 (68), A15 (69).
주의할 점은 여러 개의 소프트웨어 시리얼 통신을 사용하는 경우 하드웨어 시리얼 통 신과는
다르게 1 개의 소프트웨어 시리얼 포트에서만 데이터 수신이 가능합니다. 동시에 소프트웨어
시리얼 통신 수신은 되지 않습니다.
EEPROM
EEPROM(electrically erasable and programmable read only memory), 보통 이투피롬
(E2PROM)으로 불려지고 있습니다.
ATMEGA328P MCU 내부에는 1 KB 크기의 EEPROM 이 있습니다. 최대 1KB(키로 바이트)
까지 저장 가능한 메모리입니다.
EEPROM 은 전기 신호로만 삭제, 프로그래밍 가능한 읽기 전용 메모리입니다.
참고로 ATMEGA168, ATMEGA8 은 512BYTE, ATMEGA1280, ATMEGA2560 MCU 는
4KB 의 크기를 가지고 있습니다.
1KB 크기는 하드디스크, SD 카드에 비하면 엄청 작은 크기라고 볼 수 있습니다. 실제 아두이
노 등을 통하여 프로그래밍 시에 1KB 정도면 웬만한 프로젝트의 환경 설 정 기본값들은 저장
하고도 남는 크기입니다.
EEPROM 은 MCU 내부의 다른 메모리와는 사용 용도가 명확하게 다릅니다.
데이터를 영구 저장하기 위한 메모리로 사용됩니다. 불휘발성 메모리입니다. 전원이 없어도
기억 내용이 지워지지 않습니다.
아두이노에서는 기본 라이브러리에서 EEPROM 에 데이터 읽기/쓰기 가능합니다. EEPROM
라이브러리 사용하기 위해서는 #include <EEPROM.h> 선언하여 사용할 수 있습니다. 아두
이노의 EEPROM 사용 라이브러리도 물론, C++ 클래스 형태로 되어 있습니다. 아래의 예제코
드는 EEPROM 의 주소 0 번째부터 512 번까지 읽어서 시리얼 프린트 하는 예제입니다.
EEPROM 의 1KB 의 용량의 절반 512 BYTE 를 읽어서 시리얼 프린트 합니다. 1KB 는 1024
BYTE 입니다.
60