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() {
}