/* * * http://wildsau.idv.uni-linz.ac.at/%7Eherp/Crystalfontz/lcdtest.c * * lcdtest.c * */ #include #include #include #include #include #include #include int fd; void die(char *s) { if (errno) perror(s); else fprintf(stderr,"%s\n",s); exit(-1); } void lcdtest() { struct { char cust_char[10]; char charno; } seq; int i,j; seq.cust_char[0]=25; seq.charno=128; for (i=0;i<8;i++) { seq.cust_char[1]=(char)i; for(j=0;j<8;j++) seq.cust_char[2+j]=(char)(i+j); write(fd,(char *)&seq,sizeof(seq)); seq.charno++; } write(fd,"\r\nABCDEFGH",10); pause(); } int main() { struct termios termios; fd=open("/dev/ttyS0",O_WRONLY|O_EXCL); if (fd==-1) die("open"); if (tcgetattr(fd,&termios)==-1) die("tcgetattr"); cfmakeraw(&termios); cfsetospeed(&termios,B9600); if (tcsetattr(fd,TCSANOW,&termios)==-1) die("tcsetattr"); usleep(350000); write(fd,"\004\024\030",3); /* hide cursor/wrap=off/scroll=off */ lcdtest(); } /* * end of file */