#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <wiringPi.h>
#include <lcd.h>
/*
cc -o lcd lcd.c -lwiringPi -lwiringPiDev
*/
#define BACKLIGHT 6
#define DEBUG 0
int main(int argc, char **argv) {
int fd_lcd;
int stlen;
int i;
char string1[17];
char string2[17];
if(wiringPiSetup() == -1) {
printf("Setup
Fail\n");
exit(1);
}
pinMode(BACKLIGHT,OUTPUT);
fd_lcd =
lcdInit(2,16,4,4,5,0,1,2,3,0,0,0,0);
if(DEBUG)printf("argc=%d\n",argc);
if(argc == 1) {
lcdClear(fd_lcd);
digitalWrite(BACKLIGHT,0);
} else {
digitalWrite(BACKLIGHT,1);
if(DEBUG)printf("argv=%s\n",argv[1]);
memset(string1,0,sizeof(string1));
memset(string2,0,sizeof(string1));
stlen=strlen(argv[1]);
if(DEBUG)printf("stlen=%d\n",stlen);
if (stlen <
17) {
strcpy(string1,argv[1]);
} else if
(stlen < 32) {
strncpy(string1,argv[1],16);
argv[1]=argv[1]+16;
strncpy(string2,argv[1],stlen-16);
} else {
strncpy(string1,argv[1],16);
argv[1]=argv[1]+16;
strncpy(string2,argv[1],16);
}
lcdClear(fd_lcd);
lcdPuts(fd_lcd,string1);
lcdPosition(fd_lcd,0,1);
lcdPuts(fd_lcd,string2);
}
}
|