Member 11318299 Ответов: 2

Как проверить, отключен ли кабель RS232 или не используется C#?


Я использую последовательный порт RS232 для платежной транзакции, но не могу проверить, отключен ли кабель или нет

Что я уже пробовал:

Я пробовал с Data_Received, ErrorReceived и PinChanged event, но безрезультатно

2 Ответов

Рейтинг:
2

Jochen Arndt

Нет общего решения для определения того, подключен ли кабель.

Если используемые устройства не используют линии DTR и DTS, можно использовать специальный кабель, который имеет соединение между DTR и DTS. Затем вы можете установить выход DTR и прочитать вход DSR, чтобы проверить, подключен ли этот специальный кабель. Но это только проверит, подключен ли кабель, а не подключено ли устройство.

Если подключенное устройство использует аппаратное управление потоком (DTR/DTS или RTS/CTS), строки состояния можно использовать аналогичным образом. Затем устройство будет сигнализировать о своем присутствии через линию DSR или CTS (обычно это происходит на линии DTR / RTS). Но это будет работать только тогда, когда устройство включено.

Чтобы установить и прочитать эти строки состояния см. соответствующие функции в Класса SerialPort (Системы.ИО.Порты)[^].

Чтобы проверить, присутствует ли устройство, которое не использует аппаратное управление потоком, единственным решением является отправка команды и ожидание ответа в течение некоторого времени (обнаружение тайм-аута).

Обратите внимание, что все эти решения зависят от устройства. Общего решения нет.


Рейтинг:
2

Member 11318299

Я уже гуглил, но бесполезно

Graeme_Grant

вы нажали на ссылку, которую я предоставил выше?

Member 11318299

да чувак я уже искал

Graeme_Grant

нет, нажмите на ссылку, которую я предоставил выше-ваш ответ там...