Vorrei far leggere tramite input seriale la porta analogica che mi serve e far stampare il numero di campioni che io stesso gli dico da input.
vi posto il codice che ho fatto e che non funziona, l'ho anche commentato per rendere tutto chiaro:
int AnalogSensorPin = 0;
int AnalogSensorValue = 0;
int i = 0;
int j = 0;
void setup()
{
Serial.begin(9600);
}
void loop()
{
do{
}while (Serial.available() == 0); //fai niente finchè non ti arriva l'input seriale
if (Serial.available() > 0)
{
AnalogSensorPin = (Serial.read() & 0x0f); //converto l'input da ASCII ad intero e setto il pin analogico che mi interessa
}
do{
}while (Serial.available() == 0); //fai niente finchè non ti arriva l'input seriale
if (Serial.available() > 0)
{
j = (Serial.read() & 0x0f); //converto l'input da ASCII ad intero e setto il numero di campioni da prelevare dall'uscita analogica
}
do{
AnalogSensorValue = analogRead(AnalogSensorPin);
Serial.println(AnalogSensorValue);
i++;
}while ( i < j ); //stampa il numero di campioni
}
Il problema me lo da con l'ultimo ciclo do/while... mi sono reso conto che se l'operazione la faccio fare in loop non mi da problemi però se gli dico invece quante operazioni deve fare non le fa!
cosa sbaglio?