Show Posts
Pages: [1]
1  International / Français / Lecture rapide deux entrées analogiques on: February 14, 2011, 01:07:23 pm
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() {
}
Pages: [1]