라인코딩 EEPROM 사용하기

ATmega128은 내장 EEPROM을 가지고 있어서, 데이터를 저장하고 관리하는 데 사용할 수 있습니다. EEPROM은 자료를 영구적으로 저장할 수 있는 비휘발성 메모리로, 전원이 차단되어도 데이터를 유지합니다. 따라서, EEPROM을 사용하면 전원이 차단된 후에도 데이터를 유지할 수 있습니다.

EEPROM 쓰기

EEPROM을 쓰기 위해서는 다음과 같은 라이브러리 함수를 사용할 수 있습니다.

void eeprom_write_byte (uint8_t *address, uint8_t value);

위 함수는 주어진 메모리 주소에 값을 쓰는 함수입니다. 첫 번째 인자로는 메모리 주소를, 두 번째 인자로는 쓸 값을 전달합니다. 예를 들어, 아래 코드는 EEPROM의 메모리 주소 0에 0x10 값을 씁니다.

eeprom_write_byte((uint8_t*)0x00, 0x10);

EEPROM 읽기

EEPROM을 읽기 위해서는 다음과 같은 라이브러리 함수를 사용할 수 있습니다.

uint8_t eeprom_read_byte (const uint8_t *address);

위 함수는 주어진 메모리 주소에서 값을 읽어오는 함수입니다. 인자로는 읽을 메모리 주소를 전달합니다. 예를 들어, 아래 코드는 EEPROM의 메모리 주소 0에서 값을 읽어옵니다.

uint8_t value = eeprom_read_byte((const uint8_t*)0x00);

주로 프로그램 실행중 측정값을 저장하거나 로봇의 여러 설정값등을 저장하는 부분에 사용 합니다.