El stty
conjuntos de utilidades o informes sobre las características de E/S del terminal para el dispositivo que es su entrada estándar. Estas características se utilizan al establecer una conexión a través de ese medio en particular. cat
no conoce la tasa de baudios como tal, sino que imprime en la pantalla la información recibida de la conexión en particular.
Como ejemplo stty -F /dev/ttyACM0
da la tasa de baudios actual para el dispositivo ttyACM0.
cat
simplemente usa cualquier configuración para la que el puerto ya esté configurado. Con este pequeño fragmento de C, puede ver la velocidad en baudios establecida actualmente para un puerto serie en particular:
get-baud-rate.c
#include <termios.h>
#include <unistd.h>
#include <stdio.h>
int main() {
struct termios tios;
tcgetattr(0, &tios);
speed_t ispeed = cfgetispeed(&tios);
speed_t ospeed = cfgetospeed(&tios);
printf("baud rate in: 0%o\n", ispeed);
printf("baud rate out: 0%o\n", ospeed);
return 0;
}
Ejecutarlo:
./get-baud-rate < /dev/ttyS0 # or whatever your serial port is
Los números que obtenga se pueden buscar en /usr/include/asm-generic/termios.h
, donde hay #define
s como B9600
etc. Tenga en cuenta que los números en el archivo de encabezado y en el get-baud-rate
la salida está en octal.
Tal vez puedas experimentar y ver cómo son estos números en un arranque nuevo y si cambian más tarde.