Prestazioni Arduino: Commentare Serial.begin().

Ciao a tutti, volevo alcuni chiarmenti in merito al Serial.begin(). E' chiaro che il Serial.print sono un'ottimo metodo per debuggare qualsiasi sketch, ma al termine del progetto, se tutto funzione correttamente, e' più opportuno commetare semplicemente il Serial.begin(), oppure provvedere a commetare tutti i serial.print che ci sono nel codice? Nel primo caso ci si sbrigherebbe prima quando i serial.print sono un centinaio! :) In termini di prestazioni di arduino si arriverebbe allo stesso risultato o comunque serial.print non commentati nello sketch influenzerebbero comunque le prestazioni?

Grazie mille!

un consiglio…scriviti delle funzioni del tipo

inline void stampa(char str){
#ifdef DEBUG_SERIALE
Serial.println(str);
#endif
}

stampa o no a seconda se hai scritto #define DEBUG_SERIALE
e non mangia risorse…

interessante.. ma se oltre al char si vorrebbe stampare qualche altro tipo (ad esempio int o float) si dovrebbe scrivere un altro metodo o usare comunque il Serial.print?

  inline void stampa(char str[]){
        #ifdef DEBUG_SERIALE
        Serial.println(str);
        #endif
}
inline void stampafloat(float f){
        #ifdef DEBUG_SERIALE
        Serial.println(f);
        #endif
}

Non credo sia una cosa ottimale questa cosa scritta su.

Non c'è modo di definire più tipi (anche se non vengono poi usati) in una sola funzione?

non sei necessariamente obbligato a definire tipi, la parte funzionale potrebbe anche solo essere minimizzata al concetto di esecuzione condizionale

 #ifdef DEBUG_SERIALE
        Serial.println(qualsiasicosa);
        #endif

Si così è meglio e funziona, ma va piazzato un #ifdef ogni serial.print o ogni blocco di serial.print....

Le prestazioni comunque dovrebbero migliorare

le prestazioni migliorano a priori perchè non hai gli interrupt sottostanti che funzionano, però usando gli ifdef risparmi anche le chiamate a funzione, creazione di strighe etc.. che ti fanno risparmiare comunque tanto. Se poi modifichi arduino.h per non impoarla proprio, risparmio anche lo spazio dei buffer

lesto: Se poi modifichi arduino.h per non impoarla proprio, risparmio anche lo spazio dei buffer

Per curiosità, ho commentato l'include della seriale nel file Arduino.h ed ho compilato lo sketch "Blink". Sono venuti fuori una sfilza di errori dai file Printable.h e IPAddess.h! Incredibile, file neanche chiamati in causa da "Blink". Ma quanta roba inutilizzata si porta dietro il core di Arduino? :astonished: