Estoy usando Arduino Uno y Ethernet Shield. Tengo el siguiente código:
// My custom class.
class Logger {
public:
// Note: The 'message' is an Arduino's String object.
void serial(String message) {
Serial.print(message);
}
};
void setup() {
Logger logger;
EthernetClient client;
...
logger.serial("Some text: " + Ethernet.localIP()); // Here I have problems (keep reading for more information)
}
Cuando inicio Arduino, el Monitor Serial muestra G+dsé&¿
en lugar de Some text: 192.123.0.4
(nota: 192.123.0.4
es la IP de Internet asignada a Arduino). Sin embargo, si ejecuto Serial.print(Ethernet.localIP());
funciona como se esperaba e imprime Some text: 192.123.0.4
.
¿Por qué sucede? ¿Cómo puedo resolver el problema?
Además (ver comentarios):
logger.serial("Some text: " + 'other text'); // works
logger.serial("Some text: " + "other text"); // doesn't work (error is: "invalid operands of types 'const char [11]' and const char [10] to binary 'operator+'")