Lecture rapide deux entrées analogiques

Je suis débutant avec arduino et programmation C++.
J’essaie de lire le plus rapidement possible deux entrées analogiques (3 et 4).
Cependant, les résultats m’indiquent qu’il lit seulement l’entrée 3 et inscrit la quasi même valeur pour l’entrée 4.
Les résultats sont corrects si j’utilise une entrée seulement.
Quel est le problème ???

Voici le code :
#define FASTADC 1

// defines for setting and clearing register bits
#ifndef cbi
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#endif
#ifndef sbi
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
#endif

void setup() {
int start ;
int i ;
int n=1 ;
int sampleSize ;
int y ;

#if FASTADC
// set prescale to 16
sbi(ADCSRA,ADPS2) ;
cbi(ADCSRA,ADPS1) ;
cbi(ADCSRA,ADPS0) ;
#endif

sampleSize = 600 / n;
int aval[sampleSize] [n];

Serial.begin(9600) ;
Serial.print("ADCTEST: ") ;
start = millis() ;

for (int i=0; i<sampleSize; i++)
{
for (int y=3; y<5; y++)
aval*[y] = analogRead(y);*

  • }*
    // print samples
  • Serial.print(millis() - start) ;*
  • Serial.println(" msec (600 calls)") ; *
    for (int i=0; i<sampleSize; i++)
    {
  • for (int y=3; y<5; y++)*
    _ { Serial.print(aval*[y]);_
    _
    Serial.print(’ '); }_
    _
    Serial.println();_
    _
    }*_

* Serial.println("> end");*
*} *
void loop() {
}

Salut, je comprend pas tout dans ton code … (j’suis plus programmeur Java)…
Perso je mettrais un code du style la

int valAnalog3 = 0;
int valAnalog4 = 0;
for (int i=0; i<sampleSize; i++)
    {
     valAnalog3 = analogRead(3);
     valAnalog4 = analogRead(4);
     Serial.print(valAnalog3);
      Serial.print(' '); 
     Serial.print(valAnalog4);
      Serial.print(' '); 
}
      Serial.print(millis() - start) ;
      Serial.println(" msec (600 calls)") ;  
      Serial.println("> end");
}

sinon par rapport a ton code ya une erreur … tu enregistre toujours dans la même casse de ton tableau

for (int i=0; i<sampleSize; i++)
    {
      for (int y=3; y<5; y++)
          aval[y] = analogRead(y);
    }

tu devrais mettre aval[i] = analogRead(y); sinon sa ne serre a rien de faire le tableau aval[sampleSize] [n] faire un tableau de 600 pour 2 variable fais plutot aval[2][n] quoi que le n dans ton cas tu t’en serre jamais …

voilà un début… ma version du code … tu ne garde rien en mémoire donc une fois fini le setup si tu n’a pas mis les variable en global ben tu rentre dans le loop sans valeur…

Tealcoune… (dur dur de ce remettre au C++)