Partie Debug (5 points)

Le code qui vous a été fourni implémente le mini-projet de l'UE.

Il devrait notamment répondre à la partie 9 UART+IRQ+LED (sauf la toute dernière partie sur la gestion des erreurs de transmission, mais l'examen ne porte pas sur cette partie).

On s'attendrait notamment à pouvoir envoyer une image par le port série à la carte et voir cette image s'afficher.

L'image que l'on souhaite afficher est dans le fichier frame.bin (situé dans l'archive fournie). Affichée correctement, toutes les LED devraient être éteintes, sauf trois, une en rouge, une en vert et une en bleu (identique à la photo affichée sur la page partie 9 UART+IRQ+LED).

Cependant, ça ne marche pas...

❎ Trouvez les trois erreurs présentes dans le code et qui font que ça ne marche pas (et corrigez-les).

Note : pour rappel, pour pouvoir envoyer l'image à la carte, il faut configurer correctement son terminal en exécutant ./stty.sh (les paramètres de transmission sont les suivants : 38400 bits/s, 8 bits de données, pas de parité, 1 bit de stop), puis envoyer l'image à l'aide de la commande cat frame.bin > /dev/ttyACM0.

Quelques informations complémentaires :

  • L'image affichée en permanence est celle contenue dans le tableau image défini dans main.c
  • Les fonctions liées à l'UART, y compris le gestionnaire d'interruption, sont dans uart.c