Управление потоком через последовательный порт

С++/Windows API

Я знаю, что при указании аппаратного управления потоком для моего порта rs232 через SetCommState() ОС просит попытаться управлять потоком с сигнализацией CTS/DSR.

Эта конфигурация:

1) предположим, что последовательное устройство на другом конце связи уже поддерживает управление потоком линии CTS/DSR?

2) или ожидать, что я каким-то образом приобрету возможность управления потоком подключенного последовательного устройства?


person cazicss    schedule 09.07.2014    source источник
comment
CTS/DSR - это не вещь. Есть RTS/CTS или DTR/DSR. Вы можете использовать один или другой, или оба. Вы должны вручную убедиться, что оба конца используют один и тот же метод; нет автоопределения. Если вы не хотите использовать управление потоком, а другой конец использует, вы можете установить для своих выводов значение always ready . Тогда вы можете получить ОК; но отправка может не работать, если другой конец имеет буферную емкость и ожидает, что вы сделаете паузу, когда он опустит свой флаг.   -  person M.M    schedule 10.07.2014


Ответы (1)


Этот параметр предполагает, что другой конец передает сигнал CTS/DSR на ваш конец. Если это не так, данные не будут передаваться.

Или, если контакты жестко подключены к другому концу, что иногда бывает, у него не будет «управления потоком данных, CTS/DSR всегда находится в состоянии, позволяющем отправлять/принимать данные, независимо от того, готовы или нет".

Конечно, возможно иметь устройство, в котором последнее настроено по умолчанию, и вы каким-то образом отправляете команды/информацию через последовательный порт, чтобы сказать: «Теперь сделайте так, чтобы ваши выводы CTS/DSR отражали, можете ли вы отправлять/получать данные».

person Mats Petersson    schedule 09.07.2014
comment
Спасибо за ответ. Я просто читаю с последовательного устройства, которое передает мне данные. Я установил все значения управления потоком на ноль в начальном наборе памяти, и данные все еще передаются, поэтому я должен предположить, что устройство не применяет управление потоком? - person cazicss; 10.07.2014
comment
Ммм требует... забавное слово. Это означает, что я включу аппаратное управление потоком на своей стороне и узнаю, взбесится устройство или нет, лол. -- Еще раз спасибо :3 ! - person cazicss; 10.07.2014