comment fabrique un Word (16 bits)

Moi j'espère seulement qu'elle s'est en sortie .

Car, c'est vraiment difficile la programmation =( quand t' on ne comprend pas et heureusement que ce forum existe

En tout cas , c'est mon avis ! :smiley:

Ton algorithme à l'air de tenir la route. Juste une remarque

if(lecture!=0xFFFF) {
// on à detecté une ou plusieurs entrées à 0, elles sont donc connectées à la sortie i
liste_raccords[compte_conection].frompin=i; // on sauvegarde la pin sortie dans la liste
decompose(lecture,compte_conection); // on regarde et sauvegarde la ou les pin d'entrées connectées
compte_conection++; // et une connexion détectée de plus
}

Dans cette partie si tu relies une valeur différente de FFFF tu considères que la liaison est bonne et tu mémorise le numéro de la broche. C'est aller un peu vite il faudrait quand même vérifier que c'est le bon fil car s'il y a un court-circuit entre 2 fils ou un croisement tu ne le signaleras pas.

l'arduino est en 8bits.
si tu utilises un word qui est en 16 bits tu vas perdres un temps monstrueux.
si tu as besoin de performance il te faut utiliser un array of byte pour avoir ainsi un maximum de perf.
et ensuite ecrire les fonctions qui vont bien afin de définir les bits aux bons endroits dans ton array.

fred133084:
l'arduino est en 8bits.
si tu utilises un word qui est en 16 bits tu vas perdres un temps monstrueux.
si tu as besoin de performance il te faut utiliser un array of byte pour avoir ainsi un maximum de perf.
et ensuite ecrire les fonctions qui vont bien afin de définir les bits aux bons endroits dans ton array.

Deux cycles d'horloge contre un c'est pas non plus une perte "monstrueuse de temps" :wink:
Tu perdras plus de temps avec ton appel à fonction, l'adressage indirecte du tableau et l'accès à une cellule du dit tableau.

j'avais du temps a tuer :

Benchmark comparatif entre différents data type en mode inline ou appel de fonction du code de la page 1 de ce post :

condition > 10000 itérations

mode : inline

data type : byte
file size : 4 062 octets
delay : 5060

data type : int
file size : 3 990 octets
delay : 5692

data type : word
file size : 4 004 octets
delay : 5692

mode : function call

data type : byte
file size : 3 994 octets
delay : 5060

data type : int
file size : 4 004 octets
delay : 5692

data type : word
file size : 4 004 octets
delay : 5692