Pages: 1 [2]   Go Down
Author Topic: boucle d'analogRead  (Read 1298 times)
0 Members and 1 Guest are viewing this topic.
France
Offline Offline
Faraday Member
**
Karma: 23
Posts: 3009
There is an Arduino for that
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
ou soit un paramètre dans ta fonction (note que vu la nature de l'appelant (loop) tu va rencontrer le même problème pour déclarer ta variable...)

Code:
void loop{
  int toto=1;
  for(;;){
    fonction(toto);
  }

}

fonction(param){
  param=param+1;
  Serial.print(param);
}
 


Cette écriture ne permet pas à l'appelant de récupérer toto et donc d'incrémenter toto à chaque itération.
Il faut que fonction() retourne un entier

Code:

void loop{
   int toto=1;
   for(;;){
      toto=fonction(toto);
   }
}

int fonction (int param){
  int temp=param+1;
  Serial.print(temp);
  return(temp);
}

 ou alors il faut passer par des pointeurs. Là c'est un peu lourd pour manipuler une pauvre variable. Par contre c'est efficace pour les tableaux et les structures.
Code:
void loop{
   int toto=1;
   for(;;){
      fonction(&toto);
   }
}

fonction (int* param){
  *param=*param+1;
  Serial.print(*param);
}

[edit]Oups j'ai fait une boulette dans la version avec pointeur, à l'intérieur de la fonction ce n'est pas toto qui doit apparaitre mais param bien sur. Correction effectuée[/edit]
« Last Edit: October 08, 2009, 01:55:41 am by fdufnews » Logged

0
Offline Offline
Jr. Member
**
Karma: 0
Posts: 61
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

arf, my bad en effet, il faut utiliser un pointeur... doh, merci fdufnews...
Logged

Pages: 1 [2]   Go Up
Jump to: