
Projet
Dependencies: LCD_DISCO_F746NG BSP_DISCO_F746NG
ecran.cpp@19:1fadbca5065c, 2021-05-27 (annotated)
- Committer:
- alixhavr10
- Date:
- Thu May 27 06:39:34 2021 +0000
- Revision:
- 19:1fadbca5065c
Programme pour Projet elec;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
alixhavr10 | 19:1fadbca5065c | 1 | //toutes les fonctions qui permettent de faire affichage plus récupération de la valeur |
alixhavr10 | 19:1fadbca5065c | 2 | #include "mbed.h" |
alixhavr10 | 19:1fadbca5065c | 3 | #include "stm32746g_discovery_lcd.h" |
alixhavr10 | 19:1fadbca5065c | 4 | #include "stm32746g_discovery_ts.h" |
alixhavr10 | 19:1fadbca5065c | 5 | #include "LCD_DISCO_F746NG.h" |
alixhavr10 | 19:1fadbca5065c | 6 | #include <stdio.h> |
alixhavr10 | 19:1fadbca5065c | 7 | |
alixhavr10 | 19:1fadbca5065c | 8 | |
alixhavr10 | 19:1fadbca5065c | 9 | void screen_init(){ //ecran fonctionne ou non |
alixhavr10 | 19:1fadbca5065c | 10 | //BSP_LCD_SetFont(&Font20); |
alixhavr10 | 19:1fadbca5065c | 11 | BSP_LCD_Init(); // Initializes the LCD |
alixhavr10 | 19:1fadbca5065c | 12 | BSP_LCD_Init(); |
alixhavr10 | 19:1fadbca5065c | 13 | BSP_LCD_LayerDefaultInit(LTDC_ACTIVE_LAYER, LCD_FB_START_ADDRESS); |
alixhavr10 | 19:1fadbca5065c | 14 | BSP_LCD_SelectLayer(LTDC_ACTIVE_LAYER); |
alixhavr10 | 19:1fadbca5065c | 15 | |
alixhavr10 | 19:1fadbca5065c | 16 | BSP_LCD_SetLayerVisible(1, ENABLE); // Sets a LCD Layer visible |
alixhavr10 | 19:1fadbca5065c | 17 | BSP_LCD_Clear(LCD_COLOR_BLACK); |
alixhavr10 | 19:1fadbca5065c | 18 | BSP_LCD_DisplayOn(); |
alixhavr10 | 19:1fadbca5065c | 19 | |
alixhavr10 | 19:1fadbca5065c | 20 | uint8_t status = BSP_TS_Init(BSP_LCD_GetXSize(), BSP_LCD_GetYSize()); //ecran tactile et autre fonctionnalités |
alixhavr10 | 19:1fadbca5065c | 21 | if (status != TS_OK){ |
alixhavr10 | 19:1fadbca5065c | 22 | BSP_LCD_Clear(LCD_COLOR_RED); |
alixhavr10 | 19:1fadbca5065c | 23 | BSP_LCD_SetBackColor(LCD_COLOR_RED); |
alixhavr10 | 19:1fadbca5065c | 24 | BSP_LCD_SetTextColor(LCD_COLOR_WHITE); |
alixhavr10 | 19:1fadbca5065c | 25 | BSP_LCD_DisplayStringAt(0, LINE(5), (uint8_t *)"BLABLA1",CENTER_MODE); |
alixhavr10 | 19:1fadbca5065c | 26 | BSP_LCD_DisplayStringAt(0, LINE(6), (uint8_t *)"BLABLA2", CENTER_MODE); |
alixhavr10 | 19:1fadbca5065c | 27 | } |
alixhavr10 | 19:1fadbca5065c | 28 | else{ |
alixhavr10 | 19:1fadbca5065c | 29 | BSP_LCD_Clear(LCD_COLOR_GREEN); |
alixhavr10 | 19:1fadbca5065c | 30 | BSP_LCD_SetBackColor(LCD_COLOR_GREEN); |
alixhavr10 | 19:1fadbca5065c | 31 | BSP_LCD_SetTextColor(LCD_COLOR_WHITE); |
alixhavr10 | 19:1fadbca5065c | 32 | BSP_LCD_DisplayStringAt(0, LINE(5), (uint8_t *)"BLABLA3",CENTER_MODE); |
alixhavr10 | 19:1fadbca5065c | 33 | BSP_LCD_DisplayStringAt(0, LINE(6), (uint8_t *)"Blabla2", CENTER_MODE); |
alixhavr10 | 19:1fadbca5065c | 34 | } |
alixhavr10 | 19:1fadbca5065c | 35 | } |
alixhavr10 | 19:1fadbca5065c | 36 | |
alixhavr10 | 19:1fadbca5065c | 37 | LCD_DISCO_F746NG lcd; |
alixhavr10 | 19:1fadbca5065c | 38 | |
alixhavr10 | 19:1fadbca5065c | 39 | AnalogIn mesure_analogique (PC_0 ); // initialisation de la pin qui recoit le signal |
alixhavr10 | 19:1fadbca5065c | 40 | |
alixhavr10 | 19:1fadbca5065c | 41 | //void showIntegerScreen(int x, int nbline, int offset, Text_AlignModeTypdef mode){ |
alixhavr10 | 19:1fadbca5065c | 42 | // char t[400]; |
alixhavr10 | 19:1fadbca5065c | 43 | //sprintf((char *)t, "x=%d", x); |
alixhavr10 | 19:1fadbca5065c | 44 | // BSP_LCD_DisplayStringAt(offset,LINE(nbline),(uint8_t*)" ",mode); //clears the line. |
alixhavr10 | 19:1fadbca5065c | 45 | // BSP_LCD_DisplayStringAt(offset,LINE(nbline),(uint8_t*)&t,mode); |
alixhavr10 | 19:1fadbca5065c | 46 | // } |
alixhavr10 | 19:1fadbca5065c | 47 | |
alixhavr10 | 19:1fadbca5065c | 48 | |
alixhavr10 | 19:1fadbca5065c | 49 | |
alixhavr10 | 19:1fadbca5065c | 50 | //fonction qui prend les différents points |
alixhavr10 | 19:1fadbca5065c | 51 | void affiche_ecran(){ |
alixhavr10 | 19:1fadbca5065c | 52 | int mesure; |
alixhavr10 | 19:1fadbca5065c | 53 | int tension; |
alixhavr10 | 19:1fadbca5065c | 54 | mesure = mesure_analogique.read() ; // Convertit et lit la tension d'entrée analogique (valeur entre 0.0 et 1.0) |
alixhavr10 | 19:1fadbca5065c | 55 | tension =mesure*3.3; //met la valeur en V |
alixhavr10 | 19:1fadbca5065c | 56 | |
alixhavr10 | 19:1fadbca5065c | 57 | int i=0; |
alixhavr10 | 19:1fadbca5065c | 58 | int Y[340]; |
alixhavr10 | 19:1fadbca5065c | 59 | while(1){ |
alixhavr10 | 19:1fadbca5065c | 60 | for (i=0; i <240 ; i++){ |
alixhavr10 | 19:1fadbca5065c | 61 | Y[i]= (tension); |
alixhavr10 | 19:1fadbca5065c | 62 | BSP_LCD_DrawPixel(i,Y[i],0); |
alixhavr10 | 19:1fadbca5065c | 63 | } |
alixhavr10 | 19:1fadbca5065c | 64 | wait_ns(0.5); |
alixhavr10 | 19:1fadbca5065c | 65 | } |
alixhavr10 | 19:1fadbca5065c | 66 | } |