Книга: Основы программирования в Linux
Скорость терминала
Скорость терминала
Последняя функция, обслуживаемая структурой termios
, — манипулирование скоростью линии передачи. Для этой скорости не определен отдельный элемент структуры; она управляется вызовами функций. Скорости ввода и вывода обрабатываются отдельно.
Далее приведены четыре прототипа вызовов:
#include <termios.h>
speed_t cfgetispeed(const struct termios *);
speed_t cfgetospeed(const struct termios *);
int cfsetispeed(struct termios *, speed_t speed);
int cfsetospeed(struct termios *, speed_t speed);
Обратите внимание на то, что они воздействуют на структуру termios
, а не непосредственно на порт. Это означает, что для установки новой скорости вы должны считать текущие установки с помощью функции tcgetattr
, задать скорость, применив приведенные вызовы, и затем записать структуру termios
обратно с помощью функции tcsetattr
. Скорость линии передачи изменится только после вызова tcsetattr
.
В вызовах перечисленных функций допускается задание разных значений скорости speed
, но к основным относятся следующие константы:
? B0
— отключение терминала;
? B1200
— 1200 бод;
? B2400
— 2400 бод;
? B9600
— 9600 бод;
? B19200
— 19 200 бод;
? B38400
— 38 400 бод.
Не существует скоростей выше 38 400 бод, задаваемых стандартом, и стандартного метода обслуживания последовательных портов на более высоких скоростях.
Примечание
В некоторых системах, включая Linux, для выбора более высоких скоростей определены константы В57600
, B115200
и В230400
. Если вы пользуетесь более старой версией ОС Linux и эти константы недоступны, можно применить команду setserial
для получения нестандартных скоростей 57 600 и 115 200. В этом случае указанные скорости будут использоваться при выборе константы B38400. Оба эти метода непереносимы, поэтому применяйте их с осторожностью.
- Установите тип вашего терминала
- Как узнать скорость соединения между компьютерами?
- Скорость работы винчестера SATA оставляет желать лучшего. Как использовать его на полную мощность?
- Процессы, ограниченные скоростью ввода-вывода и скоростью процессора
- Скорость реакции и ответа
- 13.6.2 Согласование типа терминала VT100
- 2.4.7 Диалог доступа с терминала
- 2.3.2 Доступ с терминала
- Исходите из того, что скорость передачи данных и длительность задержек могут меняться
- 13.4 Модель эмуляции терминала в Telnet
- 13.6.3 Согласование характеристик терминала 3270
- Скорость