Arduino Forum

International => Français => Topic started by: Flamby on Jun 15, 2015, 01:47 pm

Title: Problème caractère ASCII écran LCD
Post by: Flamby on Jun 15, 2015, 01:47 pm
Bonjour,

Donc j'ai un problème avec l'affichage des caractères ASCII spéciaux. J'utilise un écran avec un ILI9340C et la librairie Adafruit_GFX et Adafruit_ILI9340.

Donc l'affichage des caractères ASCII de base ( les 127 premiers) pas de problème mais les autres rien ne va plus. J'ai regarder divers explications mais aucune ne fonctionne pour mon cas.

Voilà ma fonction d'affichage
Code: [Select]
int Affichage_Texte(String msg, short ligne, short align){
  if(Mode_Debug == false){
    short i_align = TXT_DROITE;
    if(ligne != 0)
      Effacer_Ligne(ligne);
   
    if(align == TXT_CENTRER)
      i_align = 160 - ((msg.length() / 2) * 12);
    else if(align == TXT_GAUCHE)
      i_align = 320 - (msg.length() * 12);
    else
      i_align = TXT_DROITE;
   
    EcranTFT.setCursor(i_align, ligne * 15);
    EcranTFT.print(msg);
  }
  else{
    Serial.println(msg);
  }
}


Si quelqu'un a une solution, je suis preneur.

Merci d'avance
Title: Re: Problème caractère ASCII écran LCD
Post by: fdufnews on Jun 15, 2015, 01:56 pm
Rien ne va plus, c'est-à-dire?

Tu nous fais voir ta fonction d'affichage. Est-ce que cela veut dire que EcranTFT.print(msg); seule fonctionne correctement?

Ne pas perdre de vue aussi que l'IDE force l'encodage des chaînes de caractères en UTF8 (de mémoire je n'ai pas revérifié, il y a eu une discussion sur le forum à ce sujet) et que donc cela joue des tours pour tous les caractères spéciaux. Préférer, même si c'est contraignant, les séquences \xxx pour placer des caractères particuliers dans les chaînes de caractères.
Title: Re: Problème caractère ASCII écran LCD
Post by: Flamby on Jun 15, 2015, 02:00 pm
Oui la fonction EcranTFT.print(msg); fonction nickel sauf pour les caractères spéciaux comme é, â, è, ê, ...