Buenas, esta pregunta es solo por curiosidad, no estoy haciendo nada en concreto para lo que necesite esto.
El tema es que cuando declaras una funcion y le pasas datos, defines el tipo de datos que vas a recibir, por ejemplo "void funcion(int numero)" vas a recibir un numero. Sin embargo, cuando haces un "Serial.print(variable)" para enviar un dato al serial, esa funcion te admite "cualquier" tipo de datos. Me intriga (mucho) y me gustaria saber porque, como se hace para recibir cualquier tipo de datos en una funcion? como se gestiona luego?
Gracias a todos los que se tomen el tiempo de leer esta pregunta y un saludo.
Puedes crear una funcion llamada A. Y creas distintos cuerpos con distintos parametros. El compilador busca esa función con esos parametros. Ejemplo.
// La funcion A toma dos enteros los suma y devuelve el valor.
int A(int a, int b) {
return a+b;
}
// La funcion A imprime una cadena por el puerto serie.
void A(char *s){
Serial.println(s);
}
void setup() {
Serial.begin(9600);
}
void loop() {
A("La suma de dos y tres es:"); // El compilador busca una funcion A que tenga como parametro una cadena.
Serial.print(A(2,3)); // El compilador busca una funcion A que tenga como parametros dos enteros.
}