Vous êtes sur la page 1sur 2

ESAT 2021/2022

Examen TP Système Embarqué

(4ème GA-Groupe B, 15h)

8
Temp Sensor LM35 PA0 PE0-7 /

INT2 PD2 8
PD3
PB0-7 /
PD4
PD5

STM32F407

Problème :
Dans le programme principal :
Le STM32F407VG effectue un décompteur Modulo 100 (PORTE : Dizaine et PORTB :
Unité). L’incrémentation est lieu chaque 200 ms.
Le capteur de température LM35 à une sensibilité de 10 mv/°C, il est connecté sur l’ADC2
configuré sur 8 bits de conversion (Vref+ =3V et Vref-=0V).
Si la température donnée par le capteur LM35 est supérieure à 80°C, on clignote 5 fois les
LEDs connectées sur PD3…PD5 (période de clignotement : 200 ms).

Dans les Interruptions :


- Si on a une interruption sur INT2, on affiche les valeurs suivantes sur les deux afficheurs
7 segments à cathode commune : 00, 10, 20, 30, 40, 50, 60, 70, 80 et 90
(L’incrémentation est lieu chaque 200 ms).

Annexes
ESAT 2021/2022

// 7SEG_CA: 0 1 2 3 4 5 6 7 8 9 A b C d E F

int T[16]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};

//****************************************************************

while (1)

{ // start ADC entree Analogique = PA2


while ( HAL_ADC_Start(&hadc1)!= HAL_OK);
//attendre la fin de conversion ou Timeout = 200 ms
while( HAL_ADC_PollForConversion(&hadc1,200 )!= HAL_OK);
// lire la valeur convertie
val_convertie = HAL_ADC_GetValue(&hadc1);
while( HAL_ADC_Stop(&hadc1)!= HAL_OK);
///// Traitement
if(val_convertie > 500) {
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_15, GPIO_PIN_SET);
HAL_Delay(500);
} else {
HAL_GPIO_WritePin(GPIOD, GPIO_PIN_14, GPIO_PIN_SET);
HAL_Delay(500);
}
}

Vous aimerez peut-être aussi