LCD에서 Font를 사용하거나, 엄청난 양의 변수(배열)이 선언이 필요할 때,
Flash Memory에 변수를 저장한다.
다만 Flash Memory에 저장한 뒤는 값을 수정 할 수 없다.
아래는 Codevision의 Flash Memory 사용법이다.
flash unsigned int A[5] = { 0, 1, 3, 6, 7 };
변수 선언 앞에 flash라는 단어만 붙혀주면 된다.
저장된 변수를 읽어올 때도 기존과 동일하게 사용하면 된다.
아래는 Atmel Studio의 Flash Memory 사용법이다.
#include <avr/pgmspace.h>
PROGMEM const unsigned int A[5] = { 0, 1, 2, 3, 4 };
int main(void)
{
for(int i = 0; i < 5 ; i++)
{
printf("%d", pgm_read_byte(&LOGO[i]));
}
}
avr/pgmspace.h을 선언해야한다.
변수 선언 앞에 PROGMEM const를 붙혀줘야한다.
변수를 읽어올 때는 pgm_read_byte(&변수명) 을 통해서 읽어와야한다.
'프로그래밍 > 임베디드' 카테고리의 다른 글
[GLCD] 한글 사용법 (0) | 2021.01.05 |
---|---|
[GLCD] 한글의 모든 조합 (0) | 2021.01.05 |
[전자회로] 스위치의 Pull-UP, Pull-Down (0) | 2021.01.03 |
[AVR] GLCD Font.h 생성 프로그램 (2) | 2021.01.03 |
[AVR][Atmega8] KS0108 GLCD 제어 (0) | 2021.01.03 |
댓글