writeRegister/Data8/Data16, dataRead8Bits| Définition | Utilisation | Exemple | Côté technique |
|
PecheuxGraph.zip\PecheuxGraph\examples\Documentation\Exemple-600-writeData8\Exemple-600-writeData8.ino (dans votre fichier téléchargé), version ILI9341:
// Ce programme montre qu'avec les fonctions de bas niveau, on arrive à toutes les possibilités du driver
#include <PecheuxGraph.h>
void setup()
{
setGraphMode(PAYSAGE); // Obligatoire pour utiliser l'afficheur
// Affichage d'un fond d'écran. En BPX parce que cela va plus vite.
bpxDraw("320x240/1.bpx",0,0)* // Affiché seulement en mode paysage
bpxDraw("240x320/20.bpx",0,0) // Affiché seulement en mode portrait}
!=0) // On n'a pas pu dessiner une image, on dessin n'importe quoi
for (int y=0; y<HAUTEUR; y+=10) for (int x=0; x<LARGEUR; x+=10) fillRect(x, y, x+10, y+10, random(WHITE));
// Un premier exemple d'accès aux registres de l'afficheur: lecture du code du pilote
setTextSize(9); setTextBold(4); // Ecrire en gros
setTextCursor(DEMI_LARGEUR-180/2, // 4 caractères font en moyenne 4*5*setTextSize=180 de large, on les met au centre
DEMI_HAUTEUR-63/2); // Les caractères font 7*setTextSize=63 de haut, mis au centre
writeRegister(0xD3); // Envoi de la commande D3 (ID code?)
dataRead8Bits(); // Première valeur non valide
dataRead8Bits(); // Valeur nulle
text(String(dataRead8Bits(), HEX)); // Poids forts à lire à lire (en hexadécimal!)
text(String(dataRead8Bits(), HEX)); // Poids faibles à lire à lire (en hexadécimal!)
delay(3000); // Qu'on ait le temps de lire
}
void loop()
{
// Un deuxième exemple d'accès aux registres de l'afficheur
writeRegister(0x21); // Display Inversion ON (21h), inversion des couleurs
delay(2000);
writeRegister(0x20); // Display Inversion OFF (20h), couleurs normales
delay(2000);
}
PecheuxGraph.zip\PecheuxGraph\examples\Documentation\Exemple-600-writeData8\Exemple-600-writeData8.ino (dans votre fichier téléchargé), version ST7781:
// Ce programme montre qu'avec les fonctions de bas niveau, on arrive à toutes les possibilités du driver
#include <PecheuxGraph.h>
void setup()
{
setGraphMode(PAYSAGE); // Obligatoire pour utiliser l'afficheur
// Affichage d'un fond d'écran. En BPX parce que cela va plus vite.
if (
bpxDraw("320x240/1.bpx",0,0)* // Affiché seulement en mode paysage
bpxDraw("240x320/20.bpx",0,0) // Affiché seulement en mode portrait}
!=0) // On n'a pas pu dessiner une image, on dessine n'importe quoi
for (int y=0; y<HAUTEUR; y+=10) for (int x=0; x<LARGEUR; x+=10) fillRect(x, y, x+10, y+10, random(WHITE));
// Un premier exemple d'accès aux registres de l'afficheur: lecture du code du pilote
byte pilote1, pilote2; // ID du pilote
setTextSize(9); setTextBold(6); // Ecrire en gros
setTextCursor(DEMI_LARGEUR-180/2, // 4 caractères font en moyenne 4*5*setTextSize=180 de large, on les met au centre
DEMI_HAUTEUR-63/2); // Les caractères font 7*setTextSize=63 de haut, mis au centre
writeRegister(0x00); // Envoi de la commande D3 (ID code?)
// Lecture préalable des codes, text() faisant appels aux registres
pilote1=dataRead8Bits(); // Poids forts à lire à lire
pilote2=dataRead8Bits(); // Poids faibles à lire à lire
text(String(pilote1, HEX)); // Poids forts en hexadécimal!
text(String(pilote2, HEX)); // Poids faibles en hexadécimal!
}
void loop()
{
// Un deuxième exemple d'accès aux registres de l'afficheur
writeRegister(0x07); // Display Control 1, CL, Display RGBcolor, Mode 8 couleurs OFF
writeData16(0x133);
delay(2000);
writeRegister(0x07); // Display Control 1, CL, Display RGBcolor, Mode 8 couleurs ON
writeData16(0x13B);
delay(2000);
}
Voir aussi: | |||