Bonjour a tous!

J'utilise un PIC16F631, programme en C avec hi tech c lite, oscillateur interne 4MHz pour commander un LCD en 4 bits dont voici ce que j'ai trouvé, a savoir pas grand chose...

http://www.datasheetarchive.com/MTC-...datasheet.html

Je me suis cassé la tête un moment et a réussi a l'initialiser et l'utiliser avec des délais softs mais ai encore des problèmes pour tester le bit busy.

Toutes les discussions que j'ai trouvées sur le sujet ne m'ont malheureusement pas aidées, mais peut être que c'est évident et je le vois juste pas, voici donc le code avec lequel j'essaie de tester le busy:

void busy_lcd(void)
{

// variables locales

unsigned char flag_busy=0;

//definit les 4 bits data du port lcd en entrée
TRIS_LCD = 0x0F;

RS_LCD=0; // operation de controle
RW_LCD=1; // lecture de la RAM du LCD

do
{
E_LCD=1; // lit les 4 bits de poids fort
flag_busy = RC4; //PORT_LCD & 0x08;
E_LCD=0;
E_LCD=1; // lit les 4 bits de poids faible
E_LCD=0;
}
while (flag_busy); // tant que le bit busy est a 1

RW_LCD=0; //écriture dans la RAM du LCD.

//definit les 8 bits du port lcd en sortie

TRIS_LCD = 0x00;

}

A noter que j'utilise cette fonction avant de faire une écriture ctrl ou data pour voir si le LCD est libre.

Any suggestions?