Programación General > C/C++

 Leer de teclado

(1/1)

Zakro:
Hola, tengo un pequeño problema: estoy haciendo un programa que se comunica con el puerto serie; para ello envía una instrucción que se le introduce por teclado. El caso es que cuando llega a la lectura de teclado pasa una de estas dos cosas:

1- Si no hay nada en el puerto serie, lee de teclado con normalidad.
2- Si tengo conectado al puerto serie ( en este caso es un sensor de posicion, que manda datos continuamente), se salta la linea en la que tiene que leer por teclado y el programa termina.

Mi impresión es que está leyendo del puerto serie en vez de por teclado; pero uso "cin" que si no estoy equivocado lee por teclado,¿no?


--- Código: C++ ---#include <iostream>#include <SerialPort.h>#include <unistd.h> //g++ -lserial -o pruebaPuerto pruebaPuerto.cpp using namespace std; string entrada; int main(int argc, char **argv){    //Error si param < 2    if (argc<2) {            cerr << "Falta el puerto serie a abrir" << endl;            return 1;    }    //Se crea el puerto serie    SerialPort puerto(argv[1]);    try {        //Se abre el puerto        puerto.Open(SerialPort::BAUD_115200,                SerialPort::CHAR_SIZE_8,                SerialPort::PARITY_NONE,                SerialPort::STOP_BITS_1,                SerialPort::FLOW_CONTROL_NONE);    }    //Error al abrir el puerto    catch (SerialPort::OpenFailed E) {        cerr << "Error abriendo el puerto" << endl;        return 1;    }    //Se lee por pantalla el parametro a enviar    cout << "Puerto abierto con éxito" << endl;    cout << "Escribe lo que quieres enviar" << endl;    cin >> entrada;    //Se manda el parametro por el puerto    puerto.Write(entrada);    puerto.Close;} 

m0skit0:
cin lee de la entrada estándar definida por el SO, no del teclado (aunque normalmente y por defecto el teclado es la entrada estándar), y puede ser modificada para apuntar a cualquier flujo de datos. Lo mismo pasa con cout.

Zakro:
¿Entonces tengo que hacer algo para que lea de teclado? Porque no estoy cambiando el comportamiento por defecto en ningún lado,¿no?

m0skit0:
Debería leer del teclado. ¿Lo has depurado a ver?

Navegación

[0] Índice de Mensajes

Ir a la versión completa