Librairie nécessaire pour utiliser le Lcd de l'IOGS

Committer:
Thur
Date:
Tue Jun 06 09:30:19 2017 +0000
Revision:
3:f5877d3dcc0f
Parent:
2:bcb0d1541b67
correction Str Affichage;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Thur 0:8487a7d2a20e 1 #ifndef MBED_LCD_H
Thur 0:8487a7d2a20e 2 #define MBED_LCD_H
Thur 2:bcb0d1541b67 3 /** Classe Lcd.
Thur 2:bcb0d1541b67 4 * Utilisée par l'IOGS pour afficher des informations sur l'ecran.
Thur 1:ab21ec2e6cf5 5 *
Thur 1:ab21ec2e6cf5 6 * Example:
Thur 1:ab21ec2e6cf5 7 * @code
Thur 1:ab21ec2e6cf5 8 * #include "mbed.h"
Thur 1:ab21ec2e6cf5 9 * #include "Lcd.h"
Thur 1:ab21ec2e6cf5 10 * Lcd ecran(D9,D13,D12,D11,D10);
Thur 1:ab21ec2e6cf5 11 *
Thur 1:ab21ec2e6cf5 12 * int main()
Thur 1:ab21ec2e6cf5 13 * {
Thur 1:ab21ec2e6cf5 14 * ecran.init_LCD();
Thur 1:ab21ec2e6cf5 15 * char i=1,j=1;
Thur 3:f5877d3dcc0f 16 * char str[]="J'affiche quelque";
Thur 1:ab21ec2e6cf5 17 * while(1) {
Thur 1:ab21ec2e6cf5 18 * ecran.writeStr_LCD(str,i,j);
Thur 1:ab21ec2e6cf5 19 * }
Thur 1:ab21ec2e6cf5 20 * }
Thur 1:ab21ec2e6cf5 21 * @endcode
Thur 1:ab21ec2e6cf5 22 */
Thur 0:8487a7d2a20e 23 #include "mbed.h"
Thur 0:8487a7d2a20e 24
Thur 0:8487a7d2a20e 25 class Lcd {
Thur 0:8487a7d2a20e 26 public:
Thur 2:bcb0d1541b67 27 /** Déclare un écran LCD
Thur 1:ab21ec2e6cf5 28 *
Thur 1:ab21ec2e6cf5 29 * @param rs Broche de la carte Nucleo L476RG reliée à la broche rs du LCD
Thur 1:ab21ec2e6cf5 30 * @param sck Broche de la carte Nucleo L476RG reliée à la broche sck du LCD
Thur 1:ab21ec2e6cf5 31 * @param miso Broche de la carte Nucleo L476RG reliée à la broche miso du LCD
Thur 1:ab21ec2e6cf5 32 * @param mosi Broche de la carte Nucleo L476RG reliée à la broche mosi du LCD
Thur 1:ab21ec2e6cf5 33 * @param cs Broche de la carte Nucleo L476RG reliée à la broche cs du LCD
Thur 1:ab21ec2e6cf5 34 */
Thur 0:8487a7d2a20e 35 Lcd(PinName rs, PinName sck, PinName miso, PinName mosi,PinName cs);
Thur 1:ab21ec2e6cf5 36 /** Fonction d'initialisation de l'écran LCD
Thur 1:ab21ec2e6cf5 37 * @note l'appel de cette fonction est essentiel pour afficher quelque chose sur le LCD
Thur 1:ab21ec2e6cf5 38 */
Thur 1:ab21ec2e6cf5 39 void init_LCD(void);
Thur 2:bcb0d1541b67 40 /** Affiche un caractère sur l'écran LCD
Thur 2:bcb0d1541b67 41 *
Thur 2:bcb0d1541b67 42 * @param c le caractère à afficher
Thur 2:bcb0d1541b67 43 * @returns rien
Thur 2:bcb0d1541b67 44 */
Thur 0:8487a7d2a20e 45 void write_LCD(char c);
Thur 2:bcb0d1541b67 46 /** Affiche une chaine de caractères sur l'écran LCD
Thur 2:bcb0d1541b67 47 *
Thur 2:bcb0d1541b67 48 * @param c tableau de caractères (ou string).
Thur 2:bcb0d1541b67 49 * @note il est essentiel que la chaine de caractères se termine par \0.
Thur 2:bcb0d1541b67 50 * @param ligne numero de la ligne du premier caractère (entre 1 et 3)
Thur 2:bcb0d1541b67 51 * @param colonne numero de la colonne du premier caractère (entre 1 et 16)
Thur 2:bcb0d1541b67 52 * @returns rien
Thur 2:bcb0d1541b67 53 */
Thur 0:8487a7d2a20e 54 void writeStr_LCD(char c[], char ligne, char colonne);
Thur 2:bcb0d1541b67 55 /** Efface ce qu'il y a affiché sur l'écran LCD
Thur 2:bcb0d1541b67 56 */
Thur 2:bcb0d1541b67 57 void clear_LCD(void);
Thur 0:8487a7d2a20e 58
Thur 0:8487a7d2a20e 59 private:
Thur 0:8487a7d2a20e 60 DigitalOut RS_LCD;
Thur 0:8487a7d2a20e 61 SPI spi; // mosi, miso, sclk
Thur 0:8487a7d2a20e 62 DigitalOut CS;
Thur 1:ab21ec2e6cf5 63 void writeCmd_LCD(char c);
Thur 1:ab21ec2e6cf5 64 void setPosition(char ligne, char colonne);
Thur 1:ab21ec2e6cf5 65 void init_SPI(void);
Thur 0:8487a7d2a20e 66 };
Thur 0:8487a7d2a20e 67
Thur 0:8487a7d2a20e 68 #endif