7Fermer9
GodzilLe 20/02/2017 à 15:45
Ceci dit le probleme, si je ne m'abuse c'est que ta solution requière qu'on puisse parler et ecouter en meme temps, je ne suis pas sur que tu puisse sur la Lynx, ni meme faire du bitbang, elle parle le RS232 avec tout ce que ca incombe.. (bit de start, de stop, parité, etc..)

Il est probablement préférable d'avoir un systeme a la token ring, ou chaque appareil parle a tour de role.

Un moyen de donner un ID de maniere dynamique et d'ecouter la chaine de messages et de determiner le numero max, ajouter un temps aleatoire qui est compté en nombre de boucle, prevoir que le nombre soit assez grand pour eviter des collisions, et prevoir un leger delais a la fin de la chaine pour laisser un appareil qui veux s'ajouter avoir le temps de parler.

L'idee est:

On ecoute une boucle, et l'ID Max est X, on choisis donc X+1 comme ID, et on tire Y comme nombre de tour a attendre.
On ecoute pendant Y tours si l'ID Max ne change pas

Si il ne change pas au tour Y+1 quand on arrive a la fin on se presente (incluant un nombre aleatoire Z)
Si l'ID max change on fait X+1 et Y+1 et on continue jusqu'a ce qu'on atteinds la valeur de Y et que X n'a pas change.

Une fois qu'on a emis le prochain tour, les autres, au moins un, est sense repondre un message de bienvenue, incluant la valeur Z, si collision ou autre Z ne correspondra pas donc on repart pour au debut pour regenerer X, Y et Z.