При подключении принтера к последовательному порту главная проблема заключается в том, что принтеры и другие периферийные устройства выполняют иные функции, чем модемы, и поэтому для управления ими используются другие сигналы. То есть принтеру не нужно посылать и принимать сигналы, от которых зависит нормальная работа модема.
При подключении принтера через разъем интерфейса RS-232 прежде всего возникает вопрос: должны ли использоваться контакты 2 и 3, предназначенные для передачи данных? С точки зрения стандарта и компьютер, и принтер являются DTE, а если устройство DTE соединено непосредственно с другим DTE, отпадает необходимость в большинстве сигналов, определенных для интерфейса RS-232. Поэтому, несмотря на то что кабель, специально предназначенный для принтера, выглядит так же, как и RS-232-кабель модема, некоторые контакты на одном конце кабеля соединены совсем с другими контактами противоположного конца кабеля, другие соединены перемычками накоротко, а третьи не соединены с одноименными контактами противоположного конца кабеля вообще. Поэтому, когда производители указывают в документации, что их продукт совместим с интерфейсом RS-232, в действительности это означает, что оборудование принимает и передает только небольшую часть сигналов, определенных для данного интерфейса, и, возможно, не нарушает других положений стандарта.
Нестандартное управление потоком
Предыдущий материал, в котором говорится о предназначении сигналов RTS и CTS, скорее всего, натолкнет вас на мысль, что их можно использовать для управления потоком. Однако мы не рекомендуем так делать, это неправильный подход. Одна из причин, по которой не следует применять данные сигналы подобным образом, состоит в том, что DCE не может прекратить передачу сигналов CTS до тех пор, пока DTE не завершит передачу сигналов RTS. Действительно, RTS и CTS являются сигналами рукопожатия, однако проблема состоит в том, что с их помощью не только сообщается о готовности DCE принять данные, но и передается другая важная управляющая информация.
Сигналы RTS и CTS предназначены для того, чтобы у терминала была возможность запросить у модема информацию о состоянии коммуникационного канала. Терминал конфигурируется таким образом, чтобы он мог поддерживать работоспособность установленного соединения столько времени, сколько ему необходимо, а устройство DCE не могло по своему усмотрению прекратить передачу сигнала CTS. Это означает, что DCE не может использовать сигнал CTS в качестве полноценного сигнала управления потоком. Для того чтобы указать DTE на необходимость приостановки или возобновления передачи данных, DCE не может начать либо прекратить передачу сигнала CTS. Такое ограничение объясняется тем, что процедура рукопожатия выполняется между DTE и коммуникационным каналом, а не между DTE и DCE. Рукопожатие служит для установления соединения, по которому будут передаваться сообщения, а не для передачи подтверждений о приеме принтером символа или строки.
|