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:
- setGraphMode(); Initialise l'afficheur