установить скорость передачи для tty

24

Как мне установить скорость передачи для конкретного tty (в данном случае последовательный порт)? Я пытался с помощью

stty -F /dev/tty.iap ispeed 19200

Но получите ошибку Invalid argumentдля каждой скорости, которую я пробую (2400, 4800 и т. Д.), Кроме 9600 (по умолчанию). Я могу успешно изменить скорость в программе на Си, используя cfsetspeed. Нужно ли вносить изменения где-то еще, например, в ttysфайл?

newenglander
источник
Почему тег iphone? вы действительно используете iPhone?
энзотиб
ну на самом деле джейлбрейкнутый Ipod Touch, в основном то же самое. (iap - протокол доступа к ipod.) Я подумал, что этот вопрос подойдет здесь лучше, чем сайт обмена стеками Apple. Это вопрос Unix / Linux, есть такая же проблема на моем Mac.
Newenglander
1
Попробуйте просто пропустить слово "ispeed".
Кит
@ Кейт, тогда я не получаю сообщение об ошибке, но я бегу, stty -F /dev/tty.iapчтобы получить подробности, он все еще говорит speed 9600 baud;.
Newenglander
1) «Я могу успешно изменить скорость в C-программе с помощью cfsetspeed» - проверяли ли вы это sttyтогда? 2) «как файл ttys?» - какой ttysименно файл? :)
Пойдж

Ответы:

20

Я использую команду stty -F /dev/ttyUSB0 9600.

Котте
источник
Отлично. Теперь я могу выводить команды по последовательному каналу с правильной скоростью передачи следующим образом:echo -ne 'my message to send over serial\n' > /dev/ttyUSB0
Габриэль Стейплс
4

Я использую экран для этой цели

# screen /dev/ttyUSB0 38400

работает как шарм

maxxvw
источник
1
Я думаю, что цель здесь состоит в том, чтобы установить скорость передачи для устройства, чтобы вы могли затем выводить команды прямо по последовательному порту. Пример: echo -ne 'my message to send over serial\n' > /dev/ttyUSB0. Я думаю, что экран тоже отличный, но у @Kotte есть правильный ответ о том, как делать то, что просят.
Габриэль Стейплс