Changes between Version 2 and Version 3 of SujetTP2


Ignore:
Timestamp:
Feb 3, 2014, 9:07:08 PM (11 years ago)
Author:
jpeeters
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SujetTP2

    v2 v3  
    2727Voici le mapping des GPIO pour les différents signaux:
    2828{{{
    29 ----------------+--------------+
    30 |  Signal LCD   |     GPIO     |
    31 ----------------+--------------+
    32  RS             | 18
    33  EN             | 23
    34  D0, D1, D2, D3 | 4, 17, 27, 22
     29-----------------+---------------+
     30|   Signal LCD   |     GPIO      |
     31-----------------+---------------+
     32| RS             | 18            |
     33| EN             | 23            |
     34| D0, D1, D2, D3 | 4, 17, 27, 22 |
     35+----------------+---------------+
    3536}}}
    3637
     38Pour le contrôle des GPIO on utilisera la librairie libgpio fournie lors du précédent TP.
     39
    3740Questions:
    38 * Comment faut-il
     41* Comment faut-il configurer les GPIOs pour les différents signaux de l'afficheur LCD ?
     42* Quelle valeur faut-il configurer comem valeur d'initialisation pour les différents signaux ?
     43* Pouvez-vous donner, en résumé, les étapes clés pour l'initialisation des GPIO en mode utilisateur ?
    3944
    4045== 2. Fonctionnement de l'écran et fonctions de base ==
    4146
     47La prise en compte de la valeur présente sur le bus de 4 bits n'est effective que lors d'un front descendant du signal EN. Pour créer un front descendant, il vous faut garder le signal EN à 1 pendant une demi période et le remettre à 0 pendant une demi période supplémentaire. Une période de 100 us parait être une bonne valeur pour la période.
     48
     49Question:
     50* Ecrire une fonction C lcd_strobe qui permet de générer un front descendant
     51
     52Nous utilisons l'afficheur LCD en mode 4 bits. Or, les commandes et les données sont transmises sur 8 bits ou 1 octet. Ainsi, toutes les commandes et toutes les données sont transmises en deux étapes: les 4 bits de poids fort et ensuite les 4 bits de poids faible.
     53
     54Question:
     55* Ecrire une fonction lcd_write_4bit_value qui envoie une valeur de 4 bits sur le bus de l'afficheur LCD.
     56* Ecrire une fonction lcd_write_value qui envoie une valeur de 8 bits sur le bus de l'afficheur LCD en utilisant la fonction lcd_write_4bit_value.
     57
     58Nous avons maintenant les fonctions de base pour commander l'afficheur LCD. Il ne manque plus qu'a distinguer l'envoi de commandes et l'envoi de données. C'est le signal RS gère cela.
     59
     60Questions:
     61* Ecrire une fonction lcd_send_cmd qui envoie une commande sur 8 bits à l'afficheur LCD.
     62* Ecrire une fonction lcd_send_data qui envoie une donnée sur 8 bits à l'afficheur LCD.
     63
    4264== 3. Affichage du monitoring système ==