100% de satisfacción garantizada Inmediatamente disponible después del pago Tanto en línea como en PDF No estas atado a nada 4.2 TrustPilot
logo-home
Examen

solution Quick1 ALM

Puntuación
-
Vendido
1
Páginas
8
Grado
Très Satisfaisant
Subido en
18-12-2023
Escrito en
2023/2024

Solution Quick1 ALM (Solution Quick1 ALM)

Institución
Grado









Ups! No podemos cargar tu documento ahora. Inténtalo de nuevo o contacta con soporte.

Escuela, estudio y materia

Institución
Estudio
Grado

Información del documento

Subido en
18 de diciembre de 2023
Número de páginas
8
Escrito en
2023/2024
Tipo
Examen
Contiene
Preguntas y respuestas

Temas

Vista previa del contenido

Université Grenoble Alpes Année 2023-2024
L3 Informatique


ALM - Quick 18/10/2023

Durée = 1h
Aucun document autorisé.

NOTE IMPORTANTE. Pour toutes les questions où il est demandé d'expliquer la réponse, une
réponse sans explication sera notée 0.


NOM : ………..……..……..………………….. PRENOM : ……………………………………..


Exercice 1. 14 points
Le problème considéré ici concerne le contrôle de feux tricolores à l'intersection d'une route
principale et d'une route secondaire très peu fréquentée.
Pour fluidifier la circulation, le principe consiste à laisser le feu au vert sur la route principale le
plus longtemps possible (et donc le feu au rouge sur la route secondaire). Les feux ne s'inver-
seront que lorsqu'un nombre minimum de voitures seront arrivées au feu rouge sur la route
secondaire, nous considérerons 12 voitures ici. Son feu restera alors au vert (et celui de la route
principale au rouge) pour un temps constant (qui a préalablement été estimé suffisant pour que
la quantité de voitures généralement présentes aient le temps de franchir le feu).
NOTE. Pour simplifier le problème, nous ne considérerons pas le passage par le feu orange.

Notre objectif serait d'utiliser la carte STM32F4 pour piloter le feu sur la route principale.
Nous allons ici seulement simuler le passage au feu vert ou rouge par l'allumage de la led
correspondante. L'évolution de l'allumage des leds se fera à la fréquence du systick.
Afin de simuler également le comptage des voitures se présentant au feu rouge sur la route
secondaire, nous utiliserons le générateur de nombres aléatoires.
Quelques rappels concernant ces périphériques, et des macros à utiliser dans les questions de
cet exercice, sont fournis en Annexe.

Le code développé ci-dessous utilisera de plus les définitions/déclarations suivantes :
// Nombre de voitures au-delà duquel le feu sur la route principale doit
// passer au rouge :
#define MAX_CAR 12
// Nombre de périodes du systick pendant feu rouge sur route principale :
#define LIMIT_RED 6
uint32_t rnd = 0; // valeur récupérée du RNG
unsigned int nb_car = 0; // nombre de voitures sur route secondaire
int green = 1; // 1 si feu vert, 0 si feu rouge sur route principale
unsigned int count_time_red = 0; // comptage des périodes au feu rouge


Q1. En utilisant les définitions fournies, définir une macro GPIO_OUT qui permet d'accéder au
contenu du registre de sortie du port GPIO auquel sont connectées les leds, comme un entier
non signé 32 bits (on rappelle que le type correspondant est uint32_t).
Réponse. 1 pt


Cf cours 1 (slides 43 à 47 + vos notes de cours) et exercice 2 du TD2 semaine 1

, Q2. Expliquer selon quelle méthode (i.e., en modifiant quoi, comment, pourquoi ?) vous
pourrez procéder à un allumage des leds qui sera caractérisé par une valeur val : val est un
entier compris entre 0 et 15, chaque bit à 1 de ce code sur 4 bits indique une led à allumer.
Réponse. 1 pt



Cf TD/TP semaine 3 (et repris encore dans les semaines suivantes), en particulier tous les
détails expliqués pas à pas dans l’exercice 2 du TD.




Q3. Recopier et compléter le code de la fonction allume_leds ci-dessous selon ce que vous
avez conçu aux questions 2 et 1.
void allume_leds (uint16_t val) {
// compléter
}

Réponse. 1 pt




Idem, cf TD/TP semaine 3 (et repris encore dans les semaines suivantes), en particulier tous
les détails expliqués pas à pas dans l’exercice 2 du TD.




Comme indiqué précédemment, nous allons maintenant simuler le passage au feu vert ou
rouge sur la route principale par l'allumage de la led correspondante.
Afin de simuler le comptage des voitures se présentant au feu rouge sur la route secondaire,
nous utiliserons le générateur de nombres aléatoires en mode interruption (il est supposé
avoir été configuré en conséquence).

Q4. Expliquer comment s’appellera (pourquoi) et tout ce que fera techniquement la fonction qui
sera chargée de récupérer dans la variable globale rnd un nouveau nombre aléatoire
généré, automatiquement chaque fois qu'il est disponible (ne pas oublier qu’il faut vérifier qu'un
nouveau nombre aléatoire est bien prêt, cf Annexe).
En utilisant les définitions fournies, écrire cette fonction.
Préciser ce qui provoquera l'appel de cette fonction lorsqu’un nouveau nombre est disponible.
$11.05
Accede al documento completo:

100% de satisfacción garantizada
Inmediatamente disponible después del pago
Tanto en línea como en PDF
No estas atado a nada

Conoce al vendedor
Seller avatar
liliaferrouk

Conoce al vendedor

Seller avatar
liliaferrouk Grenoble I - Université Joseph-Fourier
Seguir Necesitas iniciar sesión para seguir a otros usuarios o asignaturas
Vendido
2
Miembro desde
2 año
Número de seguidores
0
Documentos
33
Última venta
2 meses hace

0.0

0 reseñas

5
0
4
0
3
0
2
0
1
0

Recientemente visto por ti

Por qué los estudiantes eligen Stuvia

Creado por compañeros estudiantes, verificado por reseñas

Calidad en la que puedes confiar: escrito por estudiantes que aprobaron y evaluado por otros que han usado estos resúmenes.

¿No estás satisfecho? Elige otro documento

¡No te preocupes! Puedes elegir directamente otro documento que se ajuste mejor a lo que buscas.

Paga como quieras, empieza a estudiar al instante

Sin suscripción, sin compromisos. Paga como estés acostumbrado con tarjeta de crédito y descarga tu documento PDF inmediatamente.

Student with book image

“Comprado, descargado y aprobado. Así de fácil puede ser.”

Alisha Student

Preguntas frecuentes