Go Down

Topic: Affichage variable char lcd (Read 979 times) previous topic - next topic

eeaeea

Bonjour tout le monde ! J'utilise un ecran LCD 20*4 ainsi qu'une carte arduino mega. J'aurais aimé savoir si il y avait une explication sur le fait que quand j'essaye d'afficher une variable de type char a l'ecran cela n'affiche qu'un seul caractère du genre " | ", alors que quand j'affiche une variable de type int tout se passe très bien ! Mon ecran a pour reference 204ACCBC-3LP. Je peux vous fournir le code si vous le desirez mais je ne pense pas que ce soit si utile que ca, si vous pensez le contraire je vous le fournirais :) ! Merci !

kamill

#1
Feb 12, 2016, 11:00 am Last Edit: Feb 12, 2016, 12:00 pm by kamill
Bonjour,

Oui si la variable est de type char elle est affichée comme un char et un int comme un int.
Si tu veux afficher la valeur d'un char comme un nombre, il faut la caster en int: lcd.print((int)c);

eeaeea

#2
Feb 12, 2016, 12:08 pm Last Edit: Feb 12, 2016, 12:18 pm by eeaeea
Ah d'accord ! Et pourquoi si je le met en unsigned char il me l'affiche bien ? Et j'ai une deuxieme question qui s'écarte un peu du sujet :

Est ce que cette fonction  :

Code: [Select]
void readAndWrite(char pinArduino, char octet)
{
 for (int a=0; a<4; a++)
 {
  if (digitalRead(pinArduino+a) == 1)
  {
   bitWrite(octet,a,1);
  }
  else
  {
   bitWrite(octet,a,0);
   }
 }
}


Lit bien la valeur de la pin arduino x et l'affecte au lsb de la variable octet
puis de meme pour la pin arduino x+1 et l'affecte au deuxieme bit de la variable octet
etc... ?

kamill

Un conseil, si tu veux manipuler des octets (8 bits) n'utilise pas des char, mais des byte.
Oui, ton code fait bien ce que tu espères.

Go Up