Есть счетчик посещений. При посещении на концы (2 конца) подается напряжение от +3 до +12 на порт RXD
Как считать это логическое состояние из под линукса?
05.08.08 16:17: Перенесено модератором из 'C/C++' — Кодт
Здравствуйте, bublikOFF, Вы писали:
OFF>Есть счетчик посещений. При посещении на концы (2 конца) подается напряжение от +3 до +12 на порт RXD OFF>Как считать это логическое состояние из под линукса?
Вообщето у ком порта есть протокол обмена. Он UART называется.
А чтобы тебе изменение одного бита определять, то для этого юзай LPT порт (интересно его еще ставят в современных компах?). Только там уровни 0 и +5 вольт.
читать из /dev/lpt
UNIX way — это когда тебе вместо туалетной бумаги дают топор, рубанок и карту близлежащего леса
Программа уже писаная под Windows есть и работает, но писана сторонним програмистом. У мменя задача написать аналагичную но под линукс и компильнуть под платформу mips. Есть только USB и переходник с COM->USB->Virtual COM ... так что 2ая и 5ая нога с нее нужно как то снять логическую смену стостояния
OFF>Есть счетчик посещений. При посещении на концы (2 конца) подается напряжение от +3 до +12 на порт RXD OFF>Как считать это логическое состояние из под линукса?
Здравствуйте, bublikOFF, Вы писали:
OFF>Программа уже писаная под Windows есть и работает, но писана сторонним програмистом. У мменя задача написать аналагичную но под линукс и компильнуть под платформу mips. Есть только USB и переходник с COM->USB->Virtual COM ... так что 2ая и 5ая нога с нее нужно как то снять логическую смену стостояния
Уверен, что там всего лишь "подается напряжение от +3 до +12", а не данные по протоколу uart? Если так, то USB-переходник тут никак не поможет.
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Здравствуйте, ДимДимыч, Вы писали:
ДД>Уверен, что там всего лишь "подается напряжение от +3 до +12", а не данные по протоколу uart? Если так, то USB-переходник тут никак не поможет.
USB-переходники чудесно передают состояние DSR/CTS/RI/CD, равно как и состояние Break (постоянно активный уровень).
Здравствуйте, bublikOFF, Вы писали:
OFF>Программа уже писаная под Windows есть и работает, но писана сторонним програмистом. У мменя задача написать аналагичную но под линукс и компильнуть под платформу mips.
Переход с 3В до 12В соответствует началу стартбита. Длительность нахождения в состоянии 12В должна быть не менее длительности одного бита на установленной скорости, в этом случае происходит прием байта. Таким образом, если COM принял какой-то байт, значит счетчик сработал. Там, понятно, будут ошибки четности и фрейма, ну да это не важно. Если дребезга нет (или длительность импульса его многократно превышает) можно этим и ограничиться. Если нет — нужно отслеживать переход в обратное состояние, это можно по состоянию break отслеживать. В общем, сделать можно, но человек, что решил завести датчик именно на RXD — знатный проктолог
Re[4]: COM Порт
От:
Аноним
Дата:
09.08.08 16:33
Оценка:
Здравствуйте, sz36, Вы писали:
>но человек, что решил завести датчик именно на RXD — знатный проктолог
Ну вот так вот, у них было изначально. Переделал на DSR. Вроде все пучком, отлавливается момент. Обнаружились другие моменты, но это уже нюансы того что все заводится на точку доступа со всроеным линуксом, как дешовый вариант для автоматизации без применения полноценного ПК.