DDRX → PortX를 지정하여 8bit의 입출력을 결정
ex) DDRD = 0xf0; → D port 사용 0b1111 0000 이므로 앞에 4bit는 출력으로, 뒤에 4bit는 입력 PORTD의 4, 5, 6, 7번이 사용, PIND는 0, 1, 2, 3이 사용된다.
led.h 파일은 함수의 원형선언과 LED에 관련된 정의들이 정리되어 있음.
led.c를 보면 led.h에 정의해놓은 함수들을 들어가 있다.
main.c에서 사용하려면 led.h에 있는 header file를 불러오면 된다.
led.c는 led와 관련된 함수가 들어가 있다. 이 led.h와 led.c가 Device와 Driver가 된다.
main.c로 부터 분리 시켜 놓으면 uint8_t 같은 것에 빨간 줄이 생기게 되는데 led.h에 관련된 헤더파일을 include시켜주고 led.c에 있는 것은 led.h와 연결시켜준다. (#include “led.h”)를 적어줌으로써 led.h에 필요한 헤더파일들과 #define으로 선언해준다. 이것을 마치면 led.c에 있는 빨간 줄들이 사라졌음을 확인해 볼 수 있다. 다음으로는 main.c에 빨간 줄이 생겼을 텐데 이는 #include “led.h”를 선언해줌으로써 해결할 수 있다. 이로 인해 led.h, led.c, main.c 모든 것을 엮어주게 된다.