Мне нужно контролировать, открыта ли дверь. У меня есть датчик, который продолжает генерировать + 5 В постоянного тока, пока дверь закрыта, но падает до 0 В после открытия двери.Отправка фиксированного напряжения в последовательный порт
Теперь мне нужно подключить выходной провод датчика к последовательному порту ПК и написать программу, которая непрерывно проверяет порт.
Моя мысль заключается в том, что различные параметры серийного ввода, такие как скорость передачи данных и т. Д., Не имеют значения в моем случае. Для каждого байта, который я читаю, я ожидаю, что значение будет 255 (логическое 1s), когда дверь будет закрыта. В противном случае я буду считать, что дверь была открыта. Есть ли недостаток в этой логике?
Я прошел через Sending a voltage to RS232. Кажется, мне просто нужно подключить провод к контакту 2 (RX). Однако для последовательного порта для получения логического 1, кажется, напряжение должно быть между -3 В и -12 В. Поскольку напряжение, создаваемое моим датчиком, положительно, я думаю, что вместо этого подключу провод датчика к контакту 5 (GND) и подключите контакт 2 к земле. По сути, я перевернул напряжение. Будет ли это работать?
Если эта логика ошибочна, мне может потребоваться купить инвертор напряжения.
Наконец, мне сказали, что не нужно ничего подключать к контакту 5 на последовательном порту материнской платы. По-видимому, он твердо связан с шасси. Это правда? С уважением.
Ваше сообщение, вероятно, вне темы для этого сайта, так как это не вопрос программирования. Вы также сделали множество ошибочных предположений и неправильно поняли, какое небольшое исследование вы сделали. По крайней мере, вам понадобится конвертер (логика для RS232), а не инвертор напряжения * *. – sawdust
Благодарим вас за помощь. В этом вопросе есть две части. Во время программирования мне нужно беспокоиться о скорости передачи данных и т. Д. Или просто продолжать чтение байта после байта? Кроме того, для чего нужен конвертер, когда все, что у меня есть, является все-высоким или все-низким? – Peter
RS-232 использует кадрирование (то есть бит запуска и остановки) для каждого символа. Постоянное напряжение никогда не обнаруживается как входные кадры/символы. Если вы можете генерировать правильные уровни напряжения и полярность, возможно, вы могли бы использовать режим простоя (состояние «Марка») или «Разрыв» («Пространство») на входе RxD. RS-232 использует как положительное, так и отрицательное напряжение для уровней сигнала (обычно +12 В и -12 В). Нулевой вольт не используется в качестве уровня сигнала. Это базовое знание RS-232. – sawdust