Le stty
l'utilitaire définit ou signale les caractéristiques d'E/S du terminal pour le périphérique qui est son entrée standard. Ces caractéristiques sont utilisées lors de l'établissement d'une connexion sur ce support particulier. cat
ne connaît pas le débit en bauds en tant que tel, il imprime plutôt à l'écran les informations reçues de la connexion particulière.
Par exemple stty -F /dev/ttyACM0
donne le débit en bauds actuel pour le périphérique ttyACM0.
cat
utilise simplement les paramètres pour lesquels le port est déjà configuré. Avec ce petit extrait de C, vous pouvez voir le débit en bauds actuellement défini pour un port série particulier :
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;
}
Exécutez-le :
./get-baud-rate < /dev/ttyS0 # or whatever your serial port is
Les numéros que vous obtenez peuvent être recherchés dans /usr/include/asm-generic/termios.h
, où il y a #define
s tels que B9600
etc. Notez que les nombres dans le fichier d'en-tête et dans le get-baud-rate
les sorties sont en octal.
Vous pouvez peut-être expérimenter et voir à quoi ressemblent ces chiffres sur un nouveau démarrage et s'ils changent plus tard.