web-dev-qa-db-fra.com

quelle est la façon la plus simple de configurer le port série sous Linux?

Dans l'invite de commande Windows pour configurer un port série, je peux utiliser simplement:

mode com1: 9600,n,8,1

ou pour lire la configuration:

mode com1:

Existe-t-il des commandes similaires sous Linux? Quelle serait la manière la plus simple de trouver et de configurer le port série sous Linux?

13
Hrvoje T

Vous pouvez utiliser la commande stty pour définir ces paramètres.

Cela affichera tous les paramètres sur le premier port série (remplacez ttyS0 avec ttyUSB0 si vous utilisez un port série USB):

stty -F /dev/ttyS0 -a

Cela définira le débit en bauds à 9600, 8 bits, 1 bit d'arrêt, sans parité:

stty -F /dev/ttyS0 9600 cs8 -cstopb -parenb

Une chose qui déroute généralement les gens est que la plupart des pilotes série réinitialisent les paramètres par défaut une fois l'appareil fermé (c'est-à-dire qu'aucun processus n'a ouvert l'appareil). Ainsi, la commande stty ci-dessus définira les paramètres, puis une fois terminée, le pilote les réinitialise à nouveau. Si votre logiciel POS ouvre d'abord l'appareil, puis effectuez les réglages stty, ils doivent rester jusqu'à ce que votre logiciel POS ferme à nouveau l'appareil (par exemple à la fermeture).

J'aurais pensé que le logiciel POS devrait avoir un moyen de configurer lui-même ces paramètres. Si vous écrivez votre propre logiciel pour piloter l'imprimante, assurez-vous d'abord d'ouvrir le périphérique, puis exécutez la commande stty.

Vous devrez peut-être également jouer avec d'autres paramètres, par exemple opost signifie que le post-traitement de sortie sera effectué. Si opost et onlcr sont tous deux définis, le onlcr provoquera l'ajout d'un retour chariot (0xd) lorsqu'un octet de nouvelle ligne (0xa) est sorti, généralement pour empêcher impression d'escalier comme

This is a line
              This is the next line

Cela peut ou non être ce que vous voulez. Si vous souhaitez une sortie un à un brute vers l'imprimante, désactivez opost (ajoutez -opost aux paramètres stty).

La prise de contact (contrôle de flux) est également contrôlée avec stty, sans en savoir plus sur l'imprimante, je ne peux pas dire si vous devez définir quoi que ce soit.

Consultez la page de manuel stty pour plus d'informations.

26
wurtel