
위 코드에서 처음 나온 함수에 대해서 설명을 하도록 한다. 우선, LCD를 사용하기 위한 헤더 파일을 추가해야 한다.
#include
LCD 초기화 함수는
int lcdInit (int rows, int cols, int bits, int rs, int strb, int d0, int d1, int d2, int d3, int d4, int d5, int d6, int d7) ;
rows : 라인 수 (2 : 2 라인 LCD, 4 : 4 라인 LCD)
cols : 문자 수 (16 : 16 문자, 20 : 20 문자)
bits : 제어 방식 (4 : 4 비트 제어 방식, 8 : 8 비트 제어 방식)
rs: LCD RS핀의 wiringPi 라이브러 할당 핀 번호
strb: LCD E핀의 wiringPi 라이브러 할당 핀 번호
d0 ~ d7 : LCD 데이터 라인의 wiringPi 라이브러 할당 핀 번호
이 함수는 handle을 리턴 해 주고, 후에 이 handle을 이용한다. 코드에서 보면 fd 변수에 Handle을 넘겨 받아서 다른 LCD 제어 함수에 사용을 하는 것을 볼 수 있다.
코드의 초기화 함수는 2라인, 16문자형 LCD고 4비트 제어 방식에 대한 값이다. 8 비트 제어 방식으로 한다고 하면, 아래와 같이 선언하면 된다.
fd = lcdInit(2, 16, 8, 11, 10, 0, 1, 2, 3, 4, 5, 6, 7);
lcdPosition(int handle, int x, int y);
handle : 초기화 함수에서 넘겨 받은 handle
x : lcd의 x 위치 값
y : lcd의 y 위치 값
lcdputs(int handle, char *string);
string : LCD에 출력할 문자열
위 코드를 빌드 해 보자. 반드시, 빌드 하기 전에 /wiringPi/devLib/lcd.c 파일을 작업 폴더에 복사 한다.
$ gcc –o lcdtest lcdtest.c lcd.c –I/usr/local/include –L/usr/local/lib –lwiringPi
$ sudo ./lcdtest
정상적으로 빌드가 완료되고, 실행 파일을 실행 시켜 보면 다음 사진과 같이 문자열이 출력된 것을 확인 할 수 있다.
|