[Risolto] PROBLEMA IDE O SKETCH AMR ???

byte abilita = 1;

void setup() {
    if (abilita) {
        Serial.begin(9600);
    }
}

void loop() {
    static long contatore = 0;
    contatore++;
    if (abilita) {
        Serial.println(contatore, DEC);
    }
    delay(1000);
}

Compilato, viene 2836 byte.
Se metto "abilita" a 0, la compilazione dà 2836.
Questo per farti capire che il compilatore NON può sapere se nel corso del programma "abilita" cambia valore.

Ora compila questo:

#define abilita 

void setup() {
#ifdef abilita
    Serial.begin(9600);
#endif
}

void loop() {
    static long contatore = 0;
    contatore++;
#ifdef abilita
    Serial.println(contatore, DEC);
#endif
    delay(1000);
}

Compilato, dà 2820 byte.
Se commento la define iniziale, la compilazione mi dà 750 byte! Come vedi, in questo caso la seriale non viene inizializzata.