Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Forum général sur le langage C !

Modérateur : Jérémy

Touch Panel avec mikroC ( écran tactile)
Jérémy
Administrateur du site
Administrateur du site
Messages : 2723
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#1 Message par Jérémy » ven. 13 nov. 2015 09:53

Bonjour à tous,

Après de nombreux déboires avec l'écran, j'ai finis par changer , et celui-ci montre enfin des signes de soumission :D
je suis toujours sur ma plaque de test avec un PIC18F45K22

Écran TFT proto

En utilisant la bibliothèque de MikroC il est facile de dessiner et tracer des lignes. le changement de couleur est intuitif, le remplissage asez bien fait et une font . Je n'ai besoin que des fonctions basiques, dans le but de faire un écran de télémétrie . ainsi une fois la matrice en place, il n'y auras que 'a faire varier des valeurs ( donc du texte).

Il existe aussi une bibliothèque pour le TP (Par ici Touch-Panel ).

c'est ici que je coince ...... quelqu'un a t-il l'habitude de ce genre de pratique " LE TACTILE" ?

J'ai quelques questions préliminaires car pour le moment je n'arrive pas a afficher correctement la valeur en X,Y de la position de mon doigt sur l'écran . en X ça marche parfaitement suivant la configuration et le calibrage, dés que je configure d'une autre façon avec le Y ca tape dans les gamelles.

Comment fonctionne le TP ? il lit une valeur analogique ( Analog Digital Converter), que l'on fait varier en appuyant sur l'ecran ( augmentation de la resistance). mais pourquoi prendre 4 mesures alors que deux suffissent ?
- Dois je mettre les broches analogiques en Pull up ou pull DOWn pour éviter les parasites sur les broches ?
- A quoi sert le ADC_Threshold ?

Voila pour le moment !
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Touch Panel avec mikroC ( écran tactile)
Jérémy
Administrateur du site
Administrateur du site
Messages : 2723
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#2 Message par Jérémy » ven. 13 nov. 2015 12:26

Yes !!!

J'ai l'impression d'avoir réussis quelques choses .

En fait il faut fixer le potentiel de deux entrées min ou max , ainsi cela servira de référence .
Les deux autres entrées sont flottantes .

Les valeurs lues sont plutôt fidèles , mais je ne sais pas dans quelle mesure on peut être précis . des fois j'ai un léger décalage de 5 pixels grosso modo. Par exemple si j'ai une cible mise a X= 150 . quand j'appui sur ma cible , je lis X = 155 . ( j'appui avec une gomme taille en pointe en guise de stylet lol)

Je pense avoir assez d'info pour faire des boutons .

Par contre la calibration c'est chiant a chaque fois . je vais voir si je ne peux pas m'en passer.
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Touch Panel avec mikroC ( écran tactile)
Jérémy
Administrateur du site
Administrateur du site
Messages : 2723
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#3 Message par Jérémy » ven. 13 nov. 2015 17:26

Vraiment chouette !!!! je ponds un petit programme sympa et je vous montre en vidéo !.

Vraiment génial , je suis super content après avoir tant galérer, enfin une satisfaction . A tout à l'heure
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Touch Panel avec mikroC ( écran tactile)
JEJE89000
Avatar de l’utilisateur
Débutant
Débutant
Messages : 45
Âge : 44
Enregistré en : octobre 2015
Localisation : dans le centre

#4 Message par JEJE89000 » ven. 13 nov. 2015 19:51

Salut je suis content que tu es pus réussir j ai hâte de voir ta vidéo

Touch Panel avec mikroC ( écran tactile)
Jérémy
Administrateur du site
Administrateur du site
Messages : 2723
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#5 Message par Jérémy » ven. 13 nov. 2015 23:52

Rohhhh je n'arrive pas a afficher une image , ou même a comprendre comment faire un dessin en entier ?
la librairie permet de faire des formes :
rectangle, rond , ligne Hori/vertical, entre deux points, un pixel .

mais comment faire un dessin une grosse lettre par exemple ?
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Touch Panel avec mikroC ( écran tactile)
JEJE89000
Avatar de l’utilisateur
Débutant
Débutant
Messages : 45
Âge : 44
Enregistré en : octobre 2015
Localisation : dans le centre

#6 Message par JEJE89000 » sam. 14 nov. 2015 08:39

J ai trouvé sa sa te fais des cercle des lignes des courbes...
mais je n est pas le fichier h pour arial
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

Touch Panel avec mikroC ( écran tactile)
Jérémy
Administrateur du site
Administrateur du site
Messages : 2723
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#7 Message par Jérémy » sam. 14 nov. 2015 08:43

oui JEJE les formes sont faciles a faire § la bibliotheque est vraiment complete . C'est pour le reste que plus delicat lol
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Touch Panel avec mikroC ( écran tactile)
JEJE89000
Avatar de l’utilisateur
Débutant
Débutant
Messages : 45
Âge : 44
Enregistré en : octobre 2015
Localisation : dans le centre

#8 Message par JEJE89000 » sam. 14 nov. 2015 08:52

Comment ça le reste les images tu parle bon je vais étudié ça a tout a l heure
Il y as un logiciel je crois vtft ressource editor

Touch Panel avec mikroC ( écran tactile)
Jérémy
Administrateur du site
Administrateur du site
Messages : 2723
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#9 Message par Jérémy » sam. 14 nov. 2015 09:04

Genre affiché une photo ? ou même une image BMP si la photo est trop lourde.

Je ne sais pas comment dessiner autrement qu'avec les formes prédéfinies . Genre comment envoyer un octet et voir sa représentation à l’écran . Un peu comme avec le OLED . si ça se trouve c'est pas possible et il faut faire pixel par pixels.

je souhaitais faire un truc sympa pour la vidéo
C'est en faisant des erreurs, que l'on apprend le mieux !!!

Touch Panel avec mikroC ( écran tactile)
Jérémy
Administrateur du site
Administrateur du site
Messages : 2723
Âge : 45
Enregistré en : juillet 2015
Localisation : Dans le sud
Contact :

#10 Message par Jérémy » sam. 14 nov. 2015 13:44

Voici comme promis, j'ai fais une petite animation au départ.

Sur la vidéo j'ai un loupé, mais des fois je n'appuie pas assez fort, mais c'est quand même trés sensible. pas autant que nos smart-phone avec écran capacitif , mais je suis agréablement surpris .

La précision n'est pas exceptionnelle, mais trés bonne quand même ;

La réactivité est top ;

http://www.dailymotion.com/video/x3ds8h6

Voici le programme commenté en attendant un Tuto :

FichierTFT_Proto_main.c
[spoil]

Code : Tout sélectionner

#include "TFT_Proto_resources.h"
#include "font_Georgia.h"

// TFT module connections
char TFT_DataPort at LATD;
char TFT_DataPort_Direction at TRISD;
sbit TFT_RST at LATB5_bit;
sbit TFT_RS at LATB2_bit;
sbit TFT_CS at LATB4_bit;
sbit TFT_RD at LATB0_bit;
sbit TFT_WR at LATB1_bit;
sbit TFT_RST_Direction at TRISB5_bit;
sbit TFT_RS_Direction at TRISB2_bit;
sbit TFT_CS_Direction at TRISB4_bit;
sbit TFT_RD_Direction at TRISB0_bit;
sbit TFT_WR_Direction at TRISB1_bit;
// End Glcd module connections

// Touch Panel module connections
sbit DriveX_Left at LATA0_bit;  // pin X-  flottant
sbit DriveX_Right at LATA2_bit; // pin X+  mis en PULL-UP
sbit DriveY_Up at LATA1_bit;    // pin Y-  flottant
sbit DriveY_Down at LATA3_bit;  // pin Y+  mis en PULL-UP
sbit DriveX_Left_Direction at TRISA0_bit;
sbit DriveX_Right_Direction at TRISA2_bit;
sbit DriveY_Up_Direction at TRISA1_bit;
sbit DriveY_Down_Direction at TRISA3_bit;
// End Touch Panel module connections

// Global variables----------------------------------------------------------------
unsigned int Xcoord, Ycoord, i;
unsigned char PenDown, bouton;
unsigned int x_min, y_min, x_max, y_max;// Calibration constants
unsigned int x_coord, y_coord;

unsigned char x_pos[6];
unsigned char y_pos[6];

char x_min_msg[] = "X min:";            // TFT text messages
char y_min_msg[] = "Y min:";
char x_max_msg[] = "X max:";
char y_max_msg[] = "Y max:";

char x_min_val[6];                      // Calibration constants string values
char y_min_val[6];
char x_max_val[6];
char y_max_val[6];

sbit BP1 at bouton.B1;   // champ de drapeau
sbit BP2 at bouton.B2;
sbit BP3 at bouton.B3;
sbit BP4 at bouton.B4;
sbit BP5 at bouton.B5;

// PROTOTYPES       ----------------------------------------------------------------
void Check_TP();
void Display_const();
void Initialisation();
void Calibrate();
void Trace_bouton(unsigned char numero_BP);
void  animation();

//##################################################################################
//#########################      PROGRAMME PRINCIPAL       #########################
//##################################################################################
void main() {

  Initialisation();         // On initialise l'ecran, l'ADC , le TP

  TFT_Fill_Screen(CL_BLUE); // remplit l'ecran
  //Calibrate();            // Calibration
  TP_TFT_Set_Calibration_Consts(190, 850, 230, 675); //Un fois calibrer on rentre les valeurs manuellement
  
  BP1 
= BP2 = BP3 = BP4 = BP5 = 0 ;

  animation();
                                                   // pour eviter de calibrer a chaque allumage
  for (i=1;i<=5;i++){   // Trace les 5 boutons
      Trace_bouton(i);
   }




//##################################################################################
  while (1) {
    Check_TP();   // Regarde si on appui susr l'écran
  }
}

//##################################################################################
//#########################           FONCTIONS            #########################
//##################################################################################

void animation(){
  i=0;
 TFT_Set_Pen(CL_WHITE, 1);

   for (i=0;i<241;i=i+3){
       TFT_Line(0, 0, 320, i);
   }

  for (i=4;i<324;i+=4){
       TFT_Line(0, 0, 320-i, 240);
   }
 delay_ms (2000);

 TFT_Set_Brush(1, CL_WHITE, 0, TOP_TO_BOTTOM, CL_BLACK, CL_WHITE); //remplissage du rectangle en vert
 TFT_Rectangle(90, 115, 230, 140); // dessine un rectangle
 TFT_Set_Pen(CL_BLACK, 1);
 TFT_Write_Text("www.FantasPic.fr", 105, 120);  // Ecrit le texte
 delay_ms ( 2000);

TFT_Fill_Screen(CL_GRAY);

}
//----------------------------------------------------------------------------------
// Fonction : dessine les boutons
// Param. d'entrée : Numero du BP que l'on doit modifier/dessiner
void Trace_bouton(unsigned char numero_BP){

   if (numero_BP == 1){   // Bouton 1 doit etre modifier
      if (BP1==1){        // Si la valeur du bouton est à 1 donc à "On"
         TFT_Set_Pen(CL_GREEN, 3); // Pinceau en vert largeur de 3
         TFT_Set_Brush(1, CL_GREEN, 0, TOP_TO_BOTTOM, CL_BLACK, CL_WHITE); //remplissage du rectangle en vert
         TFT_Rectangle(30, 30, 80, 80); // dessine un rectangle
         TFT_Write_Text("On", 48, 40);  // Ecrit le texte
       }
      else {                     // Si la valeur du bouton est à 0 donc à "Off"
         TFT_Set_Pen(CL_RED, 3); // Pinceau en rouge largeur de 3
         TFT_Set_Brush(1, CL_RED, 0, TOP_TO_BOTTOM, CL_BLACK, CL_WHITE);
         TFT_Rectangle(30, 30, 80, 80); // Dessine un rectangle
         TFT_Write_Text("Off", 46, 40); // Ecrit le texte
       }
      TFT_Write_Text("BP-1", 42, 60);   // Ecrit le texte
    }
   else if (numero_BP == 2){
      if (BP2==1){
         TFT_Set_Pen(CL_GREEN, 3);
         TFT_Set_Brush(1, CL_GREEN, 0, TOP_TO_BOTTOM, CL_BLACK, CL_WHITE);
         TFT_Rectangle(240, 30, 290, 80);
         TFT_Write_Text("On", 258, 40);
       }
       else{
         TFT_Set_Pen(CL_RED, 3);
         TFT_Set_Brush(1, CL_RED, 0, TOP_TO_BOTTOM, CL_BLACK, CL_WHITE);
         TFT_Rectangle(240, 30, 290, 80);
         TFT_Write_Text("Off", 256, 40);
       }
      TFT_Write_Text("BP-2", 252, 60);
    }

   else if (numero_BP == 3){
      if (BP3==1){
         TFT_Set_Pen(CL_GREEN, 3);
         TFT_Set_Brush(1, CL_GREEN, 0, TOP_TO_BOTTOM, CL_BLACK, CL_WHITE);
         TFT_Rectangle(30, 160, 80, 210);
         TFT_Write_Text("On", 48, 170);
       }
       else{
         TFT_Set_Pen(CL_RED, 3);
         TFT_Set_Brush(1, CL_RED, 0, TOP_TO_BOTTOM, CL_BLACK, CL_WHITE);
         TFT_Rectangle(30, 160, 80, 210);
         TFT_Write_Text("Off", 46, 170);
       }
      TFT_Write_Text("BP-3", 42, 190);
    }

   else if (numero_BP == 4){
      if (BP4==1){
         TFT_Set_Pen(CL_GREEN, 3);
         TFT_Set_Brush(1, CL_GREEN, 0, TOP_TO_BOTTOM, CL_BLACK, CL_WHITE);
         TFT_Rectangle(240, 160, 290, 210);
         TFT_Write_Text("On", 258, 170);
       }
       else{
         TFT_Set_Pen(CL_RED, 3);
         TFT_Set_Brush(1, CL_RED, 0, TOP_TO_BOTTOM, CL_BLACK, CL_WHITE);
         TFT_Rectangle(240, 160, 290, 210);
         TFT_Write_Text("Off", 256, 170);
       }
         TFT_Write_Text("BP-4", 252, 190);
    }

   else if (numero_BP == 5){
      if (BP5==1){
         TFT_Set_Pen(CL_GREEN, 3);
         TFT_Set_Brush(1, CL_GREEN, 0, TOP_TO_BOTTOM, CL_BLACK, CL_WHITE);
         TFT_Rectangle(135, 95, 185, 145);
         TFT_Write_Text("On", 153, 105);
       }
       else{
         TFT_Set_Pen(CL_RED, 3);
         TFT_Set_Brush(1, CL_RED, 0, TOP_TO_BOTTOM, CL_BLACK, CL_WHITE);
         TFT_Rectangle(135, 95, 185, 145);
         TFT_Write_Text("Off", 151, 105);
        }
      TFT_Write_Text("BP-5", 147, 120);
    }

}

//----------------------------------------------------------------------------------
// Fonction : detecte un appui sur l'ecran
void Check_TP() {
  if (TP_TFT_Press_Detect()) {  // Si l'écran est appuyé

    if ((TP_TFT_Get_Coordinates(&Xcoord, &Ycoord) == 0) & (PenDown == 0)){ // Si les coordonnées sont valides et le doigt levé

      if (Xcoord >= 30 && Xcoord<=80 && Ycoord>=30 && Ycoord<=80){// Detecte la pression du doigt est dans la position du 1er bouton
         BP1++ ; // Si oui on inverse l'etat du BP
         Trace_bouton(1); // On va dessiner le nouveau BP
       }
      if (Xcoord >= 240 && Xcoord<=290 && Ycoord>=30 && Ycoord<=80){
         BP2++ ;
         Trace_bouton(2);
       }
      if (Xcoord >= 30 && Xcoord<=80 && Ycoord>=160 && Ycoord<=210){
         BP3++ ;
         Trace_bouton(3);
       }
      if (Xcoord >= 240 && Xcoord<=290 && Ycoord>=160 && Ycoord<=210){
         BP4++ ;
          Trace_bouton(4);
       }
      if (Xcoord >= 135 && Xcoord<=185 && Ycoord>=95 && Ycoord<=145){
         BP5++ ;
          Trace_bouton(5);
       }

     /*
      WordToStr(Xcoord, x_pos);
      WordToStr(Ycoord, y_pos);

      TFT_Set_Pen(CL_GREEN, 3);
      TFT_Write_Text("Position curseur", 1, 100);
      TFT_Write_Text("X_pos =", 5, 115);
      TFT_Write_Text("Y_pos =", 5, 130);

      TFT_Set_Brush(1, CL_WHITE, 0, TOP_TO_BOTTOM, CL_BLACK, CL_WHITE);
      
      TFT_Rectangle(60, 135, 90, 165);
      TFT_Write_Text(x_pos, 60, 135);
      TFT_Write_Text(y_pos, 60, 148);
     */

     if (PenDown == 0) PenDown = 1; // Si le doigt est relaché on signale qu'il est appuyé

    }
  }
  else if (PenDown == 1) PenDown = 0; // Si le doigts était appuyé on dis qu'il est rélaché
    /*
    TFT_Set_Pen(CL_RED, 3);
    TFT_Rectangle(60, 135, 90, 165);

    TFT_Write_Text(x_pos, 60, 135);
    TFT_Write_Text(y_pos, 60, 148);
*/

}

//---------------------------------------------------------------------------------
void Calibrate() {

  TFT_Set_Pen(CL_WHITE, 3);      // Definit la couleur et la largeur du pinceau
  TFT_Circle(314,5,5);           // Dessine un cercle  coin haut/droite

  TP_TFT_Calibrate_Min();        // Calibration of bottom left corner
  Delay_ms(500);

  TFT_Set_Pen(CL_WHITE, 3);
  TFT_Circle(5,234,5);

  TP_TFT_Calibrate_Max();        // Calibration of upper right corner
  Delay_ms(500);

  TP_TFT_Get_Calibration_Consts(&x_min,  &x_max, &y_min, &y_max); // Enregistre et stock les valeurs
  
  Display_const
();
}

//---------------------------------------------------------------------------------
void Display_const(){

  WordToStr(x_min, x_min_val);  // Convertis les constantes de calibration en string
  WordToStr(x_max, x_max_val);
  WordToStr(y_min, y_min_val);
  WordToStr(y_max, y_max_val);

  TFT_Fill_Screen(CL_WHITE);
  TFT_Write_Text("Constantes", 1, 1);
  TFT_Write_Text(x_min_msg, 5, 15);   // Ecrit les messages
  TFT_Write_Text(x_max_msg, 5, 30);
  TFT_Write_Text(y_min_msg, 5, 45);
  TFT_Write_Text(y_max_msg, 5, 60);

  TFT_Write_Text(x_min_val, 45, 15);  // Ecrit les valeurs de la calibration
  TFT_Write_Text(x_max_val, 45, 30);
  TFT_Write_Text(y_min_val, 45, 45);
  TFT_Write_Text(y_max_val, 45, 60);
}

//----------------------------------------------------------------------------------
void Initialisation() {
  ADCON1 = 0xCF;                   // Configuration de l'ADC
  ADC_Init();                      // Initialize ADC
  TFT_Set_Default_Mode();          // Met l'ecran en mode par defaut
  TFT_Init_ILI9341_8bit(320, 240); // Initilaise l'écran

  TP_TFT_Init(320, 240, 0, 1);     // Initialise le TP , largeur , hauteur, X-Pin ADC (RA0), Y-Pin ADC (RA1)
  TP_TFT_Set_ADC_Threshold(700);   // Configure la valuer de seuil pour lecture ADC ( 0-1024)

  PenDown = 0;                    // RAZ variable , stylet pas appuyé

}
[/spoil]


Fichiers TFT_Proto_ressources.c
[spoil]

Code : Tout sélectionner

const code char Tahoma14x16[] = {
   0x00,0x00,0x20,0x00,   0x7F,0x00,0x10,0x00,   0x01,0x88,0x01,0x00,   0x03,0x98,0x01,0x00,
   0x05,0xA8,0x01,0x00,   0x08,0xB8,0x01,0x00,   0x07,0xC8,0x01,0x00,   0x0D,0xD8,0x01,0x00,
   0x0A,0xF8,0x01,0x00,   0x03,0x18,0x02,0x00,   0x05,0x28,0x02,0x00,   0x05,0x38,0x02,0x00,
   0x07,0x48,0x02,0x00,   0x09,0x58,0x02,0x00,   0x03,0x78,0x02,0x00,   0x05,0x88,0x02,0x00,
   0x03,0x98,0x02,0x00,   0x06,0xA8,0x02,0x00,   0x07,0xB8,0x02,0x00,   0x07,0xC8,0x02,0x00,
   0x07,0xD8,0x02,0x00,   0x07,0xE8,0x02,0x00,   0x07,0xF8,0x02,0x00,   0x07,0x08,0x03,0x00,
   0x07,0x18,0x03,0x00,   0x07,0x28,0x03,0x00,   0x07,0x38,0x03,0x00,   0x07,0x48,0x03,0x00,
   0x03,0x58,0x03,0x00,   0x03,0x68,0x03,0x00,   0x09,0x78,0x03,0x00,   0x09,0x98,0x03,0x00,
   0x09,0xB8,0x03,0x00,   0x06,0xD8,0x03,0x00,   0x09,0xE8,0x03,0x00,   0x09,0x08,0x04,0x00,
   0x07,0x28,0x04,0x00,   0x07,0x38,0x04,0x00,   0x08,0x48,0x04,0x00,   0x06,0x58,0x04,0x00,
   0x06,0x68,0x04,0x00,   0x07,0x78,0x04,0x00,   0x08,0x88,0x04,0x00,   0x04,0x98,0x04,0x00,
   0x05,0xA8,0x04,0x00,   0x07,0xB8,0x04,0x00,   0x06,0xC8,0x04,0x00,   0x0A,0xD8,0x04,0x00,
   0x07,0xF8,0x04,0x00,   0x08,0x08,0x05,0x00,   0x07,0x18,0x05,0x00,   0x08,0x28,0x05,0x00,
   0x08,0x38,0x05,0x00,   0x07,0x48,0x05,0x00,   0x06,0x58,0x05,0x00,   0x07,0x68,0x05,0x00,
   0x08,0x78,0x05,0x00,   0x0C,0x88,0x05,0x00,   0x08,0xA8,0x05,0x00,   0x08,0xB8,0x05,0x00,
   0x06,0xC8,0x05,0x00,   0x05,0xD8,0x05,0x00,   0x06,0xE8,0x05,0x00,   0x05,0xF8,0x05,0x00,
   0x09,0x08,0x06,0x00,   0x08,0x28,0x06,0x00,   0x05,0x38,0x06,0x00,   0x07,0x48,0x06,0x00,
   0x07,0x58,0x06,0x00,   0x06,0x68,0x06,0x00,   0x07,0x78,0x06,0x00,   0x07,0x88,0x06,0x00,
   0x05,0x98,0x06,0x00,   0x07,0xA8,0x06,0x00,   0x07,0xB8,0x06,0x00,   0x02,0xC8,0x06,0x00,
   0x03,0xD8,0x06,0x00,   0x06,0xE8,0x06,0x00,   0x02,0xF8,0x06,0x00,   0x0A,0x08,0x07,0x00,
   0x07,0x28,0x07,0x00,   0x07,0x38,0x07,0x00,   0x07,0x48,0x07,0x00,   0x07,0x58,0x07,0x00,
   0x05,0x68,0x07,0x00,   0x06,0x78,0x07,0x00,   0x05,0x88,0x07,0x00,   0x07,0x98,0x07,0x00,
   0x07,0xA8,0x07,0x00,   0x0A,0xB8,0x07,0x00,   0x06,0xD8,0x07,0x00,   0x07,0xE8,0x07,0x00,
   0x06,0xF8,0x07,0x00,   0x06,0x08,0x08,0x00,   0x04,0x18,0x08,0x00,   0x06,0x28,0x08,0x00,
   0x0A,0x38,0x08,0x00,   0x04,0x58,0x08,0x00,

   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 32
   0x00,0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x06,0x06,0x00,0x06,0x06,0x00,0x00,0x00, // Code for char num 33
   0x00,0x00,0x00,0x1B,0x1B,0x1B,0x1B,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 34
   0x00,0x00,0x00,0x00,0x48,0x48,0xFE,0xFE,0x24,0x7F,0x7F,0x12,0x12,0x00,0x00,0x00, // Code for char num 35
   0x00,0x00,0x08,0x08,0x3E,0x4B,0x0B,0x0B,0x3E,0x68,0x68,0x69,0x3E,0x08,0x08,0x00, // Code for char num 36
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x00,0x33,0x02,0x33,0x01,0xB3,0x00,0x5E,0x0F,0xA0,0x19,0x90,0x19,0x88,0x19,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 37
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x00,0x66,0x00,0x66,0x00,0x66,0x00,0x3C,0x03,0x66,0x03,0xC6,0x01,0xC6,0x00,0xBC,0x03,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 38
   0x00,0x00,0x00,0x06,0x06,0x06,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 39
   0x00,0x00,0x00,0x18,0x0C,0x0C,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x0C,0x0C,0x18, // Code for char num 40
   0x00,0x00,0x00,0x06,0x0C,0x0C,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x0C,0x0C,0x06, // Code for char num 41
   0x00,0x00,0x00,0x18,0x5A,0x3C,0x5A,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 42
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x20,0x00,0x20,0x00,0xFC,0x01,0x20,0x00,0x20,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 43
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x03,0x03,0x00, // Code for char num 44
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 45
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00, // Code for char num 46
   0x00,0x00,0x00,0x20,0x20,0x10,0x10,0x08,0x08,0x04,0x04,0x02,0x02,0x01,0x01,0x00, // Code for char num 47
   0x00,0x00,0x00,0x00,0x3E,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x3E,0x00,0x00,0x00, // Code for char num 48
   0x00,0x00,0x00,0x00,0x18,0x1E,0x18,0x18,0x18,0x18,0x18,0x18,0x7E,0x00,0x00,0x00, // Code for char num 49
   0x00,0x00,0x00,0x00,0x3E,0x61,0x61,0x60,0x30,0x18,0x0C,0x06,0x7F,0x00,0x00,0x00, // Code for char num 50
   0x00,0x00,0x00,0x00,0x3E,0x61,0x60,0x60,0x3C,0x60,0x60,0x61,0x3E,0x00,0x00,0x00, // Code for char num 51
   0x00,0x00,0x00,0x00,0x30,0x38,0x34,0x32,0x31,0x7F,0x30,0x30,0x30,0x00,0x00,0x00, // Code for char num 52
   0x00,0x00,0x00,0x00,0x7E,0x06,0x06,0x3E,0x60,0x60,0x60,0x61,0x3E,0x00,0x00,0x00, // Code for char num 53
   0x00,0x00,0x00,0x00,0x3C,0x06,0x03,0x3F,0x63,0x63,0x63,0x63,0x3E,0x00,0x00,0x00, // Code for char num 54
   0x00,0x00,0x00,0x00,0x7F,0x60,0x30,0x30,0x18,0x18,0x0C,0x0C,0x0C,0x00,0x00,0x00, // Code for char num 55
   0x00,0x00,0x00,0x00,0x3E,0x63,0x63,0x63,0x3E,0x63,0x63,0x63,0x3E,0x00,0x00,0x00, // Code for char num 56
   0x00,0x00,0x00,0x00,0x3E,0x63,0x63,0x63,0x63,0x7E,0x60,0x30,0x1E,0x00,0x00,0x00, // Code for char num 57
   0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00, // Code for char num 58
   0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x06,0x00,0x00,0x00,0x06,0x06,0x03,0x03,0x00, // Code for char num 59
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,0x60,0x00,0x18,0x00,0x06,0x00,0x06,0x00,0x18,0x00,0x60,0x00,0x80,0x01,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 60
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFE,0x01,0x00,0x00,0x00,0x00,0xFE,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 61
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x00,0x18,0x00,0x60,0x00,0x80,0x01,0x80,0x01,0x60,0x00,0x18,0x00,0x06,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 62
   0x00,0x00,0x00,0x00,0x1E,0x31,0x30,0x18,0x0C,0x0C,0x00,0x0C,0x0C,0x00,0x00,0x00, // Code for char num 63
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7C,0x00,0x82,0x00,0x79,0x01,0x6D,0x01,0x6D,0x01,0x6D,0x01,0x6D,0x01,0xD9,0x00,0x02,0x00,0xFC,0x00,0x00,0x00,0x00,0x00, // Code for char num 64
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x38,0x00,0x38,0x00,0x6C,0x00,0x6C,0x00,0xC6,0x00,0xFE,0x00,0xC6,0x00,0x83,0x01,0x83,0x01,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 65
   0x00,0x00,0x00,0x00,0x3F,0x63,0x63,0x63,0x3F,0x63,0x63,0x63,0x3F,0x00,0x00,0x00, // Code for char num 66
   0x00,0x00,0x00,0x00,0x3E,0x43,0x43,0x03,0x03,0x03,0x43,0x43,0x3E,0x00,0x00,0x00, // Code for char num 67
   0x00,0x00,0x00,0x00,0x3F,0x63,0xC3,0xC3,0xC3,0xC3,0xC3,0x63,0x3F,0x00,0x00,0x00, // Code for char num 68
   0x00,0x00,0x00,0x00,0x3F,0x03,0x03,0x03,0x1F,0x03,0x03,0x03,0x3F,0x00,0x00,0x00, // Code for char num 69
   0x00,0x00,0x00,0x00,0x3F,0x03,0x03,0x03,0x1F,0x03,0x03,0x03,0x03,0x00,0x00,0x00, // Code for char num 70
   0x00,0x00,0x00,0x00,0x3E,0x43,0x43,0x03,0x73,0x63,0x63,0x63,0x7E,0x00,0x00,0x00, // Code for char num 71
   0x00,0x00,0x00,0x00,0xC3,0xC3,0xC3,0xC3,0xFF,0xC3,0xC3,0xC3,0xC3,0x00,0x00,0x00, // Code for char num 72
   0x00,0x00,0x00,0x00,0x0F,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x0F,0x00,0x00,0x00, // Code for char num 73
   0x00,0x00,0x00,0x00,0x1E,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x0F,0x00,0x00,0x00, // Code for char num 74
   0x00,0x00,0x00,0x00,0x63,0x33,0x1B,0x0F,0x07,0x0F,0x1B,0x33,0x63,0x00,0x00,0x00, // Code for char num 75
   0x00,0x00,0x00,0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x3F,0x00,0x00,0x00, // Code for char num 76
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x87,0x03,0x87,0x03,0x4D,0x03,0x4D,0x03,0x39,0x03,0x39,0x03,0x11,0x03,0x11,0x03,0x01,0x03,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 77
   0x00,0x00,0x00,0x00,0x47,0x47,0x4D,0x4D,0x59,0x59,0x71,0x71,0x61,0x00,0x00,0x00, // Code for char num 78
   0x00,0x00,0x00,0x00,0x7E,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x7E,0x00,0x00,0x00, // Code for char num 79
   0x00,0x00,0x00,0x00,0x3F,0x63,0x63,0x63,0x63,0x3F,0x03,0x03,0x03,0x00,0x00,0x00, // Code for char num 80
   0x00,0x00,0x00,0x00,0x7E,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0xC3,0x7E,0x60,0xC0,0x00, // Code for char num 81
   0x00,0x00,0x00,0x00,0x3F,0x63,0x63,0x63,0x3F,0x1B,0x33,0x63,0xC3,0x00,0x00,0x00, // Code for char num 82
   0x00,0x00,0x00,0x00,0x3E,0x43,0x43,0x03,0x3E,0x60,0x61,0x61,0x3E,0x00,0x00,0x00, // Code for char num 83
   0x00,0x00,0x00,0x00,0x3F,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x00,0x00,0x00, // Code for char num 84
   0x00,0x00,0x00,0x00,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x63,0x3E,0x00,0x00,0x00, // Code for char num 85
   0x00,0x00,0x00,0x00,0xC3,0xC3,0xC3,0x66,0x66,0x3C,0x3C,0x18,0x18,0x00,0x00,0x00, // Code for char num 86
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x0C,0x63,0x0C,0x63,0x0C,0xF3,0x0C,0xF6,0x06,0x9E,0x07,0x9E,0x07,0x0C,0x03,0x0C,0x03,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 87
   0x00,0x00,0x00,0x00,0xC3,0xC3,0x66,0x3C,0x18,0x3C,0x66,0xC3,0xC3,0x00,0x00,0x00, // Code for char num 88
   0x00,0x00,0x00,0x00,0xC3,0xC3,0x66,0x66,0x3C,0x18,0x18,0x18,0x18,0x00,0x00,0x00, // Code for char num 89
   0x00,0x00,0x00,0x00,0x3F,0x30,0x30,0x18,0x0C,0x06,0x03,0x03,0x3F,0x00,0x00,0x00, // Code for char num 90
   0x00,0x00,0x00,0x1E,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x1E,0x00, // Code for char num 91
   0x00,0x00,0x00,0x01,0x01,0x02,0x02,0x04,0x04,0x08,0x08,0x10,0x10,0x20,0x20,0x00, // Code for char num 92
   0x00,0x00,0x00,0x1E,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x1E,0x00, // Code for char num 93
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0x00,0x48,0x00,0x84,0x00,0x02,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 94
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00, // Code for char num 95
   0x00,0x00,0x00,0x0C,0x18,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 96
   0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0x62,0x60,0x7E,0x63,0x63,0x7E,0x00,0x00,0x00, // Code for char num 97
   0x00,0x00,0x00,0x03,0x03,0x03,0x3B,0x67,0x63,0x63,0x63,0x63,0x3F,0x00,0x00,0x00, // Code for char num 98
   0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x23,0x03,0x03,0x03,0x23,0x1E,0x00,0x00,0x00, // Code for char num 99
   0x00,0x00,0x00,0x60,0x60,0x60,0x7E,0x63,0x63,0x63,0x63,0x73,0x6E,0x00,0x00,0x00, // Code for char num 100
   0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x63,0x63,0x7F,0x03,0x43,0x3E,0x00,0x00,0x00, // Code for char num 101
   0x00,0x00,0x00,0x1C,0x06,0x06,0x0F,0x06,0x06,0x06,0x06,0x06,0x06,0x00,0x00,0x00, // Code for char num 102
   0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x63,0x63,0x63,0x63,0x73,0x6E,0x60,0x61,0x3E, // Code for char num 103
   0x00,0x00,0x00,0x03,0x03,0x03,0x3B,0x67,0x63,0x63,0x63,0x63,0x63,0x00,0x00,0x00, // Code for char num 104
   0x00,0x00,0x00,0x03,0x03,0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x00,0x00,0x00, // Code for char num 105
   0x00,0x00,0x00,0x06,0x06,0x00,0x07,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x06,0x03, // Code for char num 106
   0x00,0x00,0x00,0x03,0x03,0x03,0x33,0x1B,0x0F,0x07,0x0F,0x1B,0x33,0x00,0x00,0x00, // Code for char num 107
   0x00,0x00,0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x00,0x00,0x00, // Code for char num 108
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xDF,0x01,0x33,0x03,0x33,0x03,0x33,0x03,0x33,0x03,0x33,0x03,0x33,0x03,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 109
   0x00,0x00,0x00,0x00,0x00,0x00,0x3B,0x67,0x63,0x63,0x63,0x63,0x63,0x00,0x00,0x00, // Code for char num 110
   0x00,0x00,0x00,0x00,0x00,0x00,0x3E,0x63,0x63,0x63,0x63,0x63,0x3E,0x00,0x00,0x00, // Code for char num 111
   0x00,0x00,0x00,0x00,0x00,0x00,0x3B,0x67,0x63,0x63,0x63,0x63,0x3F,0x03,0x03,0x03, // Code for char num 112
   0x00,0x00,0x00,0x00,0x00,0x00,0x7E,0x63,0x63,0x63,0x63,0x73,0x6E,0x60,0x60,0x60, // Code for char num 113
   0x00,0x00,0x00,0x00,0x00,0x00,0x1B,0x1F,0x03,0x03,0x03,0x03,0x03,0x00,0x00,0x00, // Code for char num 114
   0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x23,0x07,0x1E,0x38,0x31,0x1E,0x00,0x00,0x00, // Code for char num 115
   0x00,0x00,0x00,0x00,0x06,0x06,0x1F,0x06,0x06,0x06,0x06,0x06,0x1C,0x00,0x00,0x00, // Code for char num 116
   0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x63,0x63,0x63,0x63,0x73,0x6E,0x00,0x00,0x00, // Code for char num 117
   0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x63,0x63,0x36,0x36,0x1C,0x1C,0x00,0x00,0x00, // Code for char num 118
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x03,0x33,0x03,0xB6,0x01,0xB6,0x01,0xCE,0x01,0xCC,0x00,0xCC,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 119
   0x00,0x00,0x00,0x00,0x00,0x00,0x33,0x33,0x1E,0x0C,0x1E,0x33,0x33,0x00,0x00,0x00, // Code for char num 120
   0x00,0x00,0x00,0x00,0x00,0x00,0x63,0x63,0x63,0x36,0x36,0x1C,0x1C,0x18,0x0C,0x0C, // Code for char num 121
   0x00,0x00,0x00,0x00,0x00,0x00,0x3F,0x30,0x18,0x0C,0x06,0x03,0x3F,0x00,0x00,0x00, // Code for char num 122
   0x00,0x00,0x00,0x38,0x0C,0x0C,0x0C,0x0C,0x07,0x0C,0x0C,0x0C,0x0C,0x0C,0x38,0x00, // Code for char num 123
   0x00,0x00,0x00,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x0C,0x00, // Code for char num 124
   0x00,0x00,0x00,0x07,0x0C,0x0C,0x0C,0x0C,0x38,0x0C,0x0C,0x0C,0x0C,0x0C,0x07,0x00, // Code for char num 125
   0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1E,0x02,0x3F,0x02,0xF1,0x03,0xE1,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, // Code for char num 126
   0x00,0x00,0x00,0x0F,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x0F,0x00,0x00,0x00  // Code for char num 127
};

[/spoil]
C'est en faisant des erreurs, que l'on apprend le mieux !!!


Retourner vers « Langage C »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 58 invités