Baud-Geschwindigkeit für tty einstellen

23

Wie stelle ich die Baudgeschwindigkeit für eine bestimmte Tty (in diesem Fall eine serielle Schnittstelle) ein? Ich habe versucht mit

stty -F /dev/tty.iap ispeed 19200

Aber bekomme den Fehler Invalid argumentfür jede Geschwindigkeit, die ich versuche (2400, 4800, etc.), außer 9600 (die Standardeinstellung). Ich kann die Geschwindigkeit in einem C-Programm mit erfolgreich ändern cfsetspeed. Muss ich eine Änderung an einer anderen Stelle vornehmen, z. B. in der ttysDatei?

Newenglander
quelle
Warum das iPhone-Tag? Benutzt du wirklich ein iPhone?
Enzotib
naja eigentlich ein jailbroken ipod touch, im grunde das selbe. (iap ist ein IPod-Zugriffsprotokoll.) Ich dachte, diese Frage würde hier besser passen als die Apple Stack Exchange-Site. Es ist eine Unix / Linux-Frage, habe das gleiche Problem auf meinem Mac.
Newenglander
1
Lassen Sie einfach das Wort "ispeed" weg.
Keith
@Keith, dann bekomme ich keine Fehlermeldung, aber ich laufe stty -F /dev/tty.iap, um Details zu erfahren, es heißt immer noch speed 9600 baud;.
Newenglander
1) «Ich kann die Geschwindigkeit in einem C-Programm mit cfsetspeed erfolgreich ändern» - haben Sie das dann überprüft stty? 2) «wie die ttys-Datei?» - welche ttysDatei genau? :)
Poige

Antworten:

19

Ich benutze den Befehl stty -F /dev/ttyUSB0 9600.

Kotte
quelle
Perfekt. Jetzt kann ich Befehle mit der richtigen Baudrate über die serielle Schnittstelle ausgeben:echo -ne 'my message to send over serial\n' > /dev/ttyUSB0
Gabriel Staples,
4

Ich benutze Bildschirm für diesen Zweck

# screen /dev/ttyUSB0 38400

klappt wunderbar

maxxvw
quelle
1
Ich denke, das Ziel hier ist es, die Baudrate für das Gerät so einzustellen, dass Sie Befehle direkt über die serielle Schnittstelle wiedergeben können. Bsp .: echo -ne 'my message to send over serial\n' > /dev/ttyUSB0. Ich denke, der Bildschirm ist auch großartig, aber @Kotte hat die richtige Antwort, wie man das macht, was gefragt wird.
Gabriel Staples