Encore moi, vu que tu voulais aussi ajouter des accents, je m'y suis penché (ça m'entraine aussi).
L'idée est d'ajouter le caractère dans le contrôleur du LCD, ensuite d'envoyer la chaîne et si on rencontre un 'é' on affiche ce qui se trouve dans le contrôleur.
Il y a des Warning dans mikroC avec les 'é' mais je ne sais pas pourquoi.
A ajouter :
Code:const char character[] = {2,4,14,17,31,16,14,0}; // Ligne par ligne : caractère 'é' void AddEacute() { char i; LCD_Cmd(0x40); // On positionne CGRAM à l'adresse 0x00 for (i=0; i<=7; i++) LCD_Chr_Cp(character[i]); // On envoie ligne par ligne }
Dans ton main(), afin d'ajouter le caractère dans le contrôleur du LCD, tu ajoutes :
Code:AddEacute();
Et tu modifies la routine Lcd_Cmd_Out :
Code:void Lcd_Const_Out(unsigned char row, unsigned char col, const char *pString) { Lcd_Out(row, col, ""); // ou LCD_Cmd(LCD_CLEAR); while(*pString) { if(*pString == 'é') // Si on rencontre 'é' on l'affiche Lcd_Chr_Cp(0x00); else Lcd_Chr_Cp(*pString); pString++; } }
-----