ustaw prędkość transmisji dla tty

24

Jak ustawić prędkość transmisji dla określonego tty (w tym przypadku portu szeregowego)? Próbowałem użyć

stty -F /dev/tty.iap ispeed 19200

Ale dostaję błąd Invalid argumentdla każdej prędkości, którą próbuję (2400, 4800 itd.), Z wyjątkiem 9600 (domyślnie). Mogę z powodzeniem zmienić prędkość w programie C użyciu cfsetspeed. Czy muszę dokonać zmiany w innym miejscu, na przykład ttyspliku?

Newenglander
źródło
Dlaczego tag iPhone? czy naprawdę używasz iPhone'a?
enzotib
właściwie właściwie jailbreak ipod touch, w zasadzie to samo. (iap jest protokołem dostępu do iPoda.) Uznałem, że to pytanie pasuje tutaj lepiej niż strona wymiany stosów jabłek. Jest to pytanie Unix / Linux, mam ten sam problem na moim komputerze Mac.
newenglander
1
Spróbuj po prostu pominąć słowo „ispeed”.
Keith
@Keith, wtedy nie pojawia się komunikat o błędzie, ale biegnę, stty -F /dev/tty.iapaby uzyskać szczegółowe informacje, to wciąż mówi speed 9600 baud;.
newenglander
1) «Mogę z powodzeniem zmienić prędkość w programie C za pomocą cfsetspeed» - czy już to zweryfikowałeś stty? 2) «jak plik ttys?» - jaki ttysdokładnie plik? :)
poige

Odpowiedzi:

20

Używam polecenia stty -F /dev/ttyUSB0 9600.

Kotte
źródło
Doskonały. Teraz mogę wysyłać polecenia szeregowo, z poprawną szybkością transmisji, w następujący sposób:echo -ne 'my message to send over serial\n' > /dev/ttyUSB0
Gabriel Staples
4

W tym celu używam ekranu

# screen /dev/ttyUSB0 38400

działa jak marzenie

maxxvw
źródło
1
Myślę, że celem tutaj jest ustawienie szybkości transmisji dla urządzenia, abyś mógł następnie powtarzać polecenia bezpośrednio nad szeregowym. Np echo -ne 'my message to send over serial\n' > /dev/ttyUSB0. : Myślę, że ekran też jest świetny, ale @Kotte ma poprawną odpowiedź na pytanie, jak zrobić to, o co się pyta.
Gabriel Staples