Leer del Serial Port

Hola, he buscado respuesta a esta pregunta (porque se que esta)pero no me he dado cuenta de su respuesta en los varios post que lei.

void setup() {
 Serial.begin(9600);
    Serial.print(100);
}

¿Puedo leer el "100" que aparece en el serial port para luego continuar el programa operando sobre el, o no es posible? Gracias.

No se entiende la pregunta, al menos yo no.

hypernovat: ¿Puedo leer el "100" que aparece en el serial port para luego continuar el programa operando sobre el, o no es posible?

Se oye extraño, pero creo que la única forma es creando un puente entre TX y RX.

Hola amigos gracias por interesarse, tal vez sea tan basico lo que pregunto que por eso no se entiende.

Supongamos que ese numero que yo veo en el serial port (y que mande alli con la funcion Serial.print()) lo quiero dividir, multiplicar, etc

¿ como puedo "tomarlo" de alli, asociarlo a una variable para luego hacer la operacion correspondiente ?

Por ejemplo Serial.read() lee un caracter del buffer.

Pero yo quiero leer los datos que acabo de mandar con Serial.print(). (por loco que parezca!)

(parece que yo quiero tratar al serial port como si fuese una archivo de texto al que quiero acceder, pero supongo que no se puede, en fin)

Gracias. (creo que tengo una confusion entre puerto serial y monitor serial :confused: )

No se si se puede recuperar el dato que se envía a través del puerto serial.

Pero hay algo que propongo como solucion.

Digamos que yo envio el numero 100 a través del puerto serie.

Este numero tiene que salir de alguna parte, ya sea de la lectura de un pin analógico, de otro puerto serial o puertos I2C ¿Verdad?

Lo lógico seria capturar ese numero antes en una variable y luego enviar esa variable para tratarla mas después o tratarla antes del envio por el puerto serie.

Seria algo así.

int PIN_A0 = 0;
int Valor = 0;
void setup() {
  Serial.begin(9600);
}

void loop() {
  PIN_A0 = analogRead(A0);//Optencion de dato de la fuente
  Serial.print(PIN_A0);//Envio de dato sin procesar
  Valor = PIN_A0 / 12;//Tratamiento de dato
}

Si, se puede operar con un dato que ha recibido el puerto serie.

Recibes un string o char, lo unico que tienes que hacer es convertirlo a int o float y luego lo multiplicas, divides, sumas o restas.

Lo unico que una letra no puede ser converida a numero, por lo que tienes que tomar las precauciones necesarias para realizar la conversión.

Es para mi uno de los hilos mas raros que he leído. Leer el mismo puerto serie desde donde se envia por Serial.print un valor o una cadena fija? Sigo sin entender el contexto. Se comprende que quiero decir?

Si ese número se lo envias a otro arduino o es recibido por uno, via puerto serie y quieres capturarlo y luego operar sobre el es algo que esta por todo el foro. Es eso?

surbyte: Leer el mismo puerto serie desde donde se envia por Serial.print un valor o una cadena fija? Sigo sin entender el contexto. Se comprende que quiero decir?

Efectivamente no tiene ningun sentido, si mandas un dato fijo ya sabes que estas mandando y por lo tanto operar con ello, y si lo que mandas es una variable pues ya tienes la variable por lo tanto puedes operar con ella.

el unico sentido que tiene la pregunta es si se puede operar con datos recibidos por el puerto serie, la respuesta es sí, claro esta, tomando las precauciones necesarias.

Yo no hablo de recuperar el dato que viene desde el exterior.
Hablo de recuperar el dato que se acaba de enviar.

Y creo que esa es la cuestión inicial de la pregunta que si es rara.

Directamente no se puede, ademas no tiene ningún sentido hacer eso, si es una dato fijo ya lo conocemos y si es una variable también, por lo que no es necesario recuperar el dato enviado.

rodripelto: Directamente no se puede

Gracias a todos, muy interesante.

Esa será toda tu respuesta?

surbyte: Esa será toda tu respuesta?

Si te referis a mi otra cosa no se me ocurre + que agradecer porque me intereso leer las respuestas.

Saludos.

(cite la de rodripelto porque parece que entendio mi pregunta "aunque no tiene ningun sentido", pero eso es otro tema)

Bien, cierro el hilo, ya que manifiestas estar respondido o solucionado.

Cualquier comentario me hablas por privado.