définir la vitesse de transmission pour tty

24

Comment définir la vitesse de transmission pour un tty spécifique (dans ce cas un port série)? J'ai essayé d'utiliser

stty -F /dev/tty.iap ispeed 19200

Mais obtenez l'erreur Invalid argumentpour chaque vitesse que j'essaie (2400, 4800, etc.) sauf 9600 (la valeur par défaut). Je peux changer avec succès la vitesse dans un programme C en utilisant cfsetspeed. Dois-je faire un changement ailleurs, comme le ttysfichier?

newenglander
la source
Pourquoi le tag iphone? utilisez-vous vraiment l'iPhone?
enzotib
bien en fait un iPod touch jailbreaké, essentiellement le même. (iap est le protocole d'accès ipod.) J'ai pensé que cette question conviendrait mieux ici que le site apple stackexchange. C'est une question Unix / Linux, j'ai le même problème sur mon mac.
newenglander
1
Essayez de laisser de côté le mot "ispeed".
Keith
@Keith, alors je ne reçois pas de message d'erreur, mais je cours stty -F /dev/tty.iappour obtenir des détails, dit-il toujours speed 9600 baud;.
newenglander
1) «Je peux changer la vitesse avec succès dans un programme C en utilisant cfsetspeed» - l'avez-vous vérifié sttyalors? 2) «comme le fichier ttys?» - quel ttysfichier exactement? :)
poige

Réponses:

20

J'utilise la commande stty -F /dev/ttyUSB0 9600.

Kotte
la source
Parfait. Maintenant, je peux faire écho des commandes sur série, à la vitesse de transmission correcte, comme suit:echo -ne 'my message to send over serial\n' > /dev/ttyUSB0
Gabriel Staples
4

J'utilise l'écran à cet effet

# screen /dev/ttyUSB0 38400

fonctionne comme un charme

maxxvw
la source
1
Je pense que l'objectif ici est de définir le débit en bauds de l'appareil afin que vous puissiez ensuite faire écho aux commandes directement via la série. Ex: echo -ne 'my message to send over serial\n' > /dev/ttyUSB0. Je pense que l' écran est génial aussi, mais @Kotte a la bonne réponse sur la façon de faire ce qui est demandé.
Gabriel Staples le