Bonjour a tous,
Je suis bloqué sur un problème d'affichage d'integer sur un ecran graphique tout fraichement arrivé le ST7565.
Mon problème étant que je souhaite passer d'un LCD I2C sous LiquidCrystal_I2C.h a un GLCD sous ST7565.h, je change donc toutes mes variables d'affichage tel que suivant :
lcd.setCursor(3,0);
lcd.print("Selection mode");
lcd.setCursor(6,1);
lcd.print("de jeu :");
lcd.setCursor(4,2);
lcd.print("1- Code");
lcd.setCursor(4,3);
lcd.print("2- Piratage");
glcd.drawstring(14, 1, "Selection du mode");
glcd.drawstring(43, 2, "de jeu :");
glcd.drawstring(33, 4, "1- Code");
glcd.drawstring(33, 5, "2- Piratage");
glcd.display();
Jusque la tout va bien, même si j'aurais penser cela plus similaire au LCD.
Mais mon problème viens quand il me faut afficher une valeur numérique stockée dans un integer, car la librairie ST7565 me force a utiliser la fonction de la maniere suivante : drawstring(uint8_t x, uint8_t line, char *c)
A ce moment la comment puis-je afficher une valeur comme par exemple i = 10 car biensur glcd.drawstring(33, 5, i) ne fonctionne pas car i n'est pas un char mais un int ?!
Mon second problème étant d'afficher sur l'ecran la valeur d'une touche de mon keypad mon code étant :
while (Hcount < 2)
{
lcd.setCursor(Hcount + 6, 2);
lcd.cursor();
char key = keypad.getKey();
key == NO_KEY;
if (key != NO_KEY)
{
if ((key != '*')&&(key != '#'))
{
lcd.print(key);
tone1.play(NOTE_C6, 200);
Hcountset[Hcount] = key;
Hcount++;
}
}
}
Car selon moi et si je relis cette partie de code "char key = keypad.getKey();", key est donc un char et devrait etre pris en compte si je remplace "lcd.print(key);" par "glcd.drawstring(33, 5, key)" ?!
Merci de vos éclaircissement !