Manejo de un LCD 16x2

Anuncio
Manejo de un LCD 16x2 #include <wiringPi.h>
#include <lcd.h>
#include <stdio.h>
#include <stdlib.h>
//#include <stdint.h>
#ifndef TRUE
# define
# define
#endif
TRUE
FALSE
(1==1)
(1==2)
static void waitForEnter (void) {
printf ("Press ENTER to continue: ") ;
(void)fgetc (stdin) ;
}
void pingPong (int lcd, int cols, int repeat) {
int position = 0 ;
int dir
= 0 ;
int i;
for(i=0; i<repeat*cols; i++){
if (dir == 0)
dir = 1 ;
lcdPosition
lcdPutchar
lcdPosition
lcdPutchar
//return ;
}
{
(lcd,
(lcd,
(lcd,
(lcd,
0, 0) ;
'*') ;
cols-1, 1) ;
'*') ;
lcdPosition (lcd, position, 0) ;
lcdPutchar (lcd, ' ') ;
lcdPosition (lcd, (cols-1)-position, 1) ;
lcdPutchar (lcd, ' ') ;
position += dir ;
if (position == cols) {
dir = -1 ;
--position ;
}
if (position < 0)
dir = 1 ;
++position ;
}
{
lcdPosition (lcd, position, 0) ;
lcdPutchar (lcd, '*') ;
lcdPosition (lcd, (cols-1)-position, 1) ;
lcdPutchar (lcd, '*') ;
delay(200);
}
}
int main(){
int fd;
//
(rows, cols, mode, RS, STR, d0, d1, d2, d3, d4, d5, d6, d7)
fd = lcdInit
(2,
16,
4, 11, 10, 4, 5, 6, 7, 0, 0, 0, 0) ;
if (fd < 0) {
fprintf (stderr, "lcdInit failed\n") ;
exit(EXIT_FAILURE) ;
}
wiringPiSetup () ;
lcdClear(fd);
lcdHome(fd);
lcdCursor(fd, FALSE);
lcdPosition (fd, 0, 0) ; lcdPuts (fd, "Prueba") ;
lcdPosition (fd, 0, 1) ; lcdPuts (fd, " Errgabo 2014 :)") ;
waitForEnter();
lcdClear(fd);
pingPong(fd, 16,4);
lcdClear(fd);
lcdPosition (fd, 0, 0) ; lcdPuts (fd, "======FIN======") ;
return(EXIT_SUCCESS);
}
Descargar