Etant débutant sur Arduino, je m'aventure petit à petit dans les méandres du développement. Je me heurte à une situation que je ne peux expliquer, et j'ai besoin de vos lumières :
Mon code (que j'ai préalablement épuré au max) est censé afficher le nombre de milliseconde depuis le démarrage du programme. Le problème est qu'il part complètement en cacahuète si je rajoute une variable tableau de type float. Si mon tableau était de type int, pas de problème, mais moi j'ai besoin d'un tableau de float ! >:( De plus je ne vois aucun rapport ou lien quelconque entre ma fonction millis() et ma variable tableau...
float tab[] = {};
int i = 0;
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println(millis());
delay(1000);
tab[i]=0;
}
slidy:
Quelqu'un aurait un semblant d'explication ?
Bonsoir
en tous cas pas moi à ce stade
mais par curiosité j'ai testé
avec le float ça me renvoi du millis à 0 apres delay
avec un int ça me renvoi du millis() pas coherent avec le delay
float tab[] = {};
Ce tableau n'a pas de dimension. Donc pas d'espace réservé. Donc il écrase la variable située derrière.
tab = analogRead(1) * 5;
analogRead est définie comme retournant un entier long. 5 est une constante entière. Le résultat sera un entier.* Utiliser :tab = analogRead(1) * 5.0;[/li] [/list]