Buenas noches.
Sigo peleándome con el mando, pero eso ya no es digno de mención.
Os escribo por dos motivos, uno, porque no me he olvidado de vosotros ni de vuestra ayuda, y el segundo, porque he hecho, mejor dicho, me han hecho el ya amigo Bigbadbob, un descubrimiento que nos puede venir bien a todos.
Se trata de la macro (F("texto"))
Yo no sabía que existía, a lo mejor vosotros si, y no estoy descubriendo la pólvora, pero no lo he visto en ninguno de vuestros proyectos.
Resulta que con esta macro, si se define bien, los "Serial.print", o los "Serial.println" no ocupan memoria, y se ejecutan igualmente, yo he reducido la memoria ocupada por el programa de un 26%, a un 7%, que se dice pronto, sin quitar ningún "Serial.print".
Yo la he implementado de la siguiente manera, lo único con lo que hay que tener cuidado es que solo se puede utilizar para los textos fijos, NO se puede utilizar cuando se imprime el dato de un sensor que esta variando continuamente.
#define F(string_literal) (reinterpret_cast<const __FlashStringHelper *>(PSTR(string_literal)))
línea 154 del código Maestro
y luego en todos los "Serial.print" fijos
Serial.println (F("\n Controlador encontrado y configurado con éxito"));
línea 273 del código, y siguientes.
Como podréis observar, el código ha cambiado bastante desde la última vez que lo publiqué.
www.cambatronics.com/foro/index.php/mont...e-ps2?start=186#1727
Si queréis más información sobre la macro (F("texto")), podéis buscarla en Internet, o mirar estos enlaces.
www.baldengineer.com/arduino-f-macro.html
heli.xbot.es/?p=519
arduino.stackexchange.com/questions/176/...ariables-in-a-string
Donde explican el funcionamiento de la macro F mejor que yo
Un saludo.