Que veux-tu dire part "Comment remplacer çà!?"
Remplacer par quoi ?
Pour info (ou cas où tu ne le saurais pas),
maFonction(TrucA, BiduleA, MachinA);
équivaut à :
maFonction(int A, int B , int C);
Genre Non de la fonction( type ....)
Ta fonction "maFonction" reçoit ou doit recevoir 3 paramètres (dont le type est défini en fonction des donnés à recevoir) afin de pouvoir exécuter les instructions qui lui sont assignées. En gros il lui faut ces trois paramètres pour pouvoir faire le travail qu'il faut.
La question est un peu vague mais je pense comprendre ce que tu cherches. Tu devrais creuser de ce cote là : http://arduino.cc/en/Reference/Array
Un tableau permet de stocker un ensemble de données et de les ressortir ensuite. L'accès se faisant par un index cela permet de coder une boucle pour extraire les données au lieu de répéter plusieurs fois la même ligne.
Je voudrais simplement faire une boucle qui change automatiquement :A par B puis C puis D . . . . R
sa me permettrai d'écrire qu'un seul fois ma fonction plutot que toutes ses ligne!
PS: En écrivant ceci je me demande finalement si c'est utile car quoi qu'il arrive il faut les écrires quelque part, sauf si je met la liste sur une SD, Sa éviterai surtout les erreur de frappe, et l'ajout et la suppression rapide d'une nouvelle "lettre".....
fdufnews:
La question est un peu vague mais je pense comprendre ce que tu cherches. Tu devrais creuser de ce cote là : http://arduino.cc/en/Reference/Array
Un tableau permet de stocker un ensemble de données et de les ressortir ensuite. L'accès se faisant par un index cela permet de coder une boucle pour extraire les données au lieu de répéter plusieurs fois la même ligne.
c'est presque ça :), dans l'idéal je voudrai appeler directement la ligne A qui me resortirai donc TrucA , BiduleA, MachinA que je fais passer à ma fonction
Je vais me pencher sur les tableau du coup sa peut peut etre résoudre mon soucis
merci....
PS: Vous écrivez trop vite j'ai pas le temps de répondre moi!!!!! MDR
bonjour,
ca serait tripounettement bien d'être plus clarinette, car j'ai l'impression de lire la bd "sisters" (sympa au passage).
mais tres trucs, machin bidulechose, c'est quoi?
des float, int?
on recatapulte donc ce que tu veux trucmachinchosefaire
via le serail tu veux rentrer une lettre, puis afficher le résultat en retour de ta fonction si j'ai bien compris
je ferai un truc comme ca
utilise les switch case dans ce cas avec ta fonction
if serial ...........
switch (test){
case A :
mafonction( test,test,test);
break;
case B:
mafonction( test,test,test);
break;
case C:
mafonction( test,test,test);
break;
.....
....
void mafonction(byte x,byte y,byte z)
{
le travail de ta fonction
return;
}
par la même occasion, change le titre de ton topic pour être plus explicite
par ce que "je sèche", on va dire, bois un coup et mets toi à l'ombre
Il faudrait d'abord que tu expimes clairement ce que tu veux avant de commencer à imaginer les solutions techniques, sinon tu vas nous pondre une usine à gaz
En fait, son 1er souci a une solution en PHP (mais pas du tout recommandé selon moi): des variables-variables.
Je sais pas si ça existe en C (mais c'est déjà pas propre en PHP alors en C ...)...
il est ou le php?
parce que rien n'indique comment il veut si prendre
donc on en revient au même point de départ
ca serait tripounettement bien d'être plus clarinette, car j'ai l'impression de lire la bd "sisters" (sympa au passage).
mais tres trucs, machin bidulechose, c'est quoi?
des float, int?
Il faudrait d'abord que tu expimes clairement ce que tu veux avant de commencer à imaginer les solutions techniques, sinon tu vas nous pondre une usine à gaz smiley-wink
Voici mon code (j'ai juste gardé ce que je voudrai amélioré)
const byte BoutonA = 0, SortieA = 13; boolean AncienEtatA = 0;
const byte BoutonB = 1, SortieB = 12; boolean AncienEtatB = 0;
const byte BoutonC = 2, SortieC = 11; boolean AncienEtatC = 0;
maFonction(BoutonA, AncienEtatA, SortieA); //La partie que je voudrait remplacer
maFonction(BoutonB, AncienEtatB, SortieB); //La partie que je voudrait remplacer
maFonction(BoutonC, AncienEtatC, SortieC); //La partie que je voudrait remplacer
int maFonction(byte param1, byte param2, byte param3)
{ actuel = digitalRead(param1); //Lecture du bouton
if (actuel != param2) //Si actuel différent de ancien
{ if (actuel == LOW) //Si bouton est appuyé
{ if (digitalRead(param3) == LOW) //Si LED est éteinte
{ digitalWrite(param3, HIGH); //Allume la LED
}
else
{ digitalWrite(param3, LOW); //Eteind la LED
}
}
param2 = actuel;
}
}
L'appelle de la fonction à lieu (pour l'intant) 18x c'est pour celà que j'aimerais la remplacer, la solution de fdufnews me convient pour l'instant.
mais je me demander si l'on ne pouver pas simplement lancé la fonction en indiquant juste A,B ou C
c'est à dire:
je lance une fonction avec "A","B" ou "C"
et elle me ressort "BoutonA, AncienEtatA, SortieA"
que je renvoie dans "maFonction(BoutonA, AncienEtatA, SortieA);"
J'éspère que j'ai réussi à me faire comprendre! XD
Ta demande correspond dans l'idée à ce que je proposais à la fin de ma réponse.
Re-écrire la fonction pour qu'elle accepte en argument une ligne du tableau plutôt que trois valeurs.
Là tu voudrais passer l'index en argument à la fonction et c'est dans la fonction que tu interrogerais le tableau.
Maintenant, c'est vrai que la demande n'est pas claire. Par exemple dans ta dernière réponse ont a constaté que ton besoin mélanges les types et donc ce n'est plus un tableau à 2 dimensions qu'il faudrait utiliser mais un tableau de structures.