Tengo una computadora portátil que solo tiene un puerto serie.
Entré en:
/dev
directorio, y encontré:
ttyS0
ttyS1
ttyS2
ttyS3
¿Cómo sé cuál de esos "ttyS" se refiere a mi puerto serie?
linux
serial-port
sivabudh
fuente
fuente
Respuestas:
Creo que es este comando:
Ejecutar eso en mi propia caja de Linux (que solo tiene 1 puerto serie) produce una sola línea de salida ttyS0. Pruébelo usted mismo, verá lo que quiero decir.
fuente
tty
para obtener el nombre de su tty. Supongo que eso es lo que OP quiso decir, ya que no plantearon la pregunta como "¿qué puerto (s) serie (s) se estángetty
ejecutando?"Vea qué UART se detectaron en
/proc/tty/driver/serial
. Una línea conuart:unknown
medios: nada detectado (y probablemente no existente).Si algo está conectado y maneja las líneas CTS, DSR o CD (estas son líneas de entrada), incluso puede estar bastante seguro de que realmente hay algo ... Lo mismo es cierto para el conteo de bytes de rx.
fuente
Si necesita hacer esto, leer la salida de dmesg mediante programación puede ser problemático, en su lugar, la carpeta / dev / serial / by-id tiene enlaces simbólicos que llevan el nombre de los datos identificables de su dispositivo y apuntan al / dev / tty * específico están conectados a
No estoy seguro de si esta es una regla especial de udev que es específica de la distribución, pero funciona bien en Ubuntu, avíseme si funciona.
fuente
ttyS0
through3
corresponde aCOM1
through4
, respectivamente. Usualmente tienen los mismos recursos de hardware y no siempre son detectables, por lo que siempre existen.fuente
setserial
para asignar los recursos que ttyS0 usa a los de su puerto serie. linux.die.net/man/8/setserial Sin embargo, esto normalmente no es necesario, ya que cualquier cosa más allá de COM4 generalmente tiene suficiente hardware auxiliar para permitir que Linux lo detecte y agregue un dispositivo en serie según corresponda.También existe el comando
setserial
que utiliza/proc/tty/driver/serial
para obtener sus datos.fuente