#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <wiringPi.h>
#include <lcd.h>
#include <pcf8574.h>
/*
cc -o lcd-pcf8574 lcd-pcf8574.c -lwiringPi
-lwiringPiDev
*/
int main(int argc, char **argv) {
int fd_lcd;
int c;
int i;
if(wiringPiSetup() == -1) {
printf("wiringPiSetup Fail\n");
exit(1);
}
if(pcf8574Setup(100,0x20) == -1) {
printf("pcf8574Setup Fail\n");
exit(1);
}
fd_lcd =
lcdInit(2,16,4,100,102,104,105,106,107,0,0,0,0);
lcdClear(fd_lcd);
lcdPuts(fd_lcd,"ABCDEFGHIJKLMNOP");
lcdPosition(fd_lcd,0,1);
lcdPuts(fd_lcd,"abcdefghijklmnop");
while (1){
printf("0:lcdDisplay test\n");
printf("1:lcdCursor test\n");
printf("2:lcdBlink test\n");
printf("q:End\n");
c=getchar();
if(c == 'q')
break;
if(c == '0') {
for(i=0;i<10;i++) {
lcdDisplay(fd_lcd,0);
sleep(1);
lcdDisplay(fd_lcd,1);
sleep(1);
}
}
if(c == '1') {
for(i=0;i<16;i++){
lcdPosition(fd_lcd,i,0);
lcdCursor(fd_lcd,1);
sleep(1);
}
lcdCursor(fd_lcd,0);
}
if(c == '2') {
for(i=0;i<16;i++){
lcdPosition(fd_lcd,i,1);
lcdCursorBlink(fd_lcd,1);
sleep(1);
}
lcdCursorBlink(fd_lcd,0);
}
}
lcdClear(fd_lcd);
} |