Bonjour à vous,

Je ne trouve pas de réponse à cette question... je vais essayer d'être clair...


J'utilise un afficheur lcd à contrôleur compatible HD44780 que je pilote avec un pic p18F4550 (+compilateur C18)

Les deux salves de 4 bits étant envoyées successivement, connaissez-vous le délai minimal entre l'envoi des 4 bits de poids fort et les 4 bits de poids faible svp ?




J'ai également pensé utiliser un "while(LCD_busy_flag!=0);" mais cela implique de mettre le port du pic associé au DB7 de l'afficheur LCD en "input" juste pour faire la lecture sur DB7 alors que le reste du temps il faut le mettre en sortie (envoi de commande ou de data au pic)... ce qui ne me convient pas étant donné que j'avais l'impression que les déclarations concernant la direction des ports étaient "fixes" à l'initialisation du pic et de ses broches...


Avec une fonction du type :

int LCD_busy_flag(void)
{
RS=0;
R/W=1;
E=1;
Delay(40 µs); // pas d'idée de la valeur étant donné que les 450 ns sur Enable recommandés en écriture ne fonctionnent pas chez moi donc on va dire 40 µs...
E=0;
return(DB7); // Busy Flag disponible sur la sortie DB7
}


Donc actuellement, je tourne avec une tempo de 40µs entre chaque salve de 4 bits ça marche mais ce n'est pas optimal et je pourrais même mettre R/W à la masse...


Merci à vous pour toute piste que vous pourrez m'indiquer ! cdt