Changes between Version 14 and Version 15 of SujetTP6-2016


Ignore:
Timestamp:
Mar 28, 2016, 5:15:16 PM (8 years ago)
Author:
franck
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SujetTP6-2016

    v14 v15  
    9898Dans la pratique, les tâches des applications communiquent entre elles. Nous pouvons le faire ici en passant par des variables globales dont les adresses sont passées en paramètres des tâches. Ce dernier point est important, il faut absolument que les variables globales ne soient pas directement utilisées par les fonctions de tâches mais toujours passées explicitement en paramètre ceci afin de faciliter la mise au point ET permettre d'avoir plusieurs instances de la même tâche.
    9999
    100 Dans l'exemple qui suit, nous avons ajouter une tâche GetKbd qui lit un message au clavier et le place dans un buffer nommé mess.
     100Dans l'exemple qui suit, nous avons ajouter une tâche !GetKbd qui lit un message au clavier et le place dans un buffer nommé mess.
    101101C'est la tâche Mess qui fera l'affichage.
    102102Les deux tâches se synchronisent en utilisant une case mémoire nommée full dont la valeur peut prendre deux états:
    103 - 0 = le buffer ne contient pas de message, le buffer appartient à GetKbd qui le remplit à chaque nouveau caractère
     103- 0 = le buffer ne contient pas de message, le buffer appartient à !GetKbd qui le remplit à chaque nouveau caractère
    104104- 1 = le buffer contient un message, le buffer appatient à Mess qui le lit et l'affiche
    105105
    106 La case full est mise à 1 par GetKbd et mise à 0 par Mess.
    107 
    108 Il y a une autre communication entre GetKbd et Led que je vous laisse analyser
     106La case full est mise à 1 par !GetKbd et mise à 0 par Mess.
     107
     108Il y a une autre communication entre !GetKbd et Led que je vous laisse analyser
    109109
    110110{{{#!c