COM Порт
От: bublikOFF  
Дата: 31.07.08 16:08
Оценка:
Есть счетчик посещений. При посещении на концы (2 конца) подается напряжение от +3 до +12 на порт RXD
Как считать это логическое состояние из под линукса?

05.08.08 16:17: Перенесено модератором из 'C/C++' — Кодт
Re: COM Порт
От: catBasilio  
Дата: 03.08.08 17:52
Оценка:
Здравствуйте, bublikOFF, Вы писали:

OFF>Есть счетчик посещений. При посещении на концы (2 конца) подается напряжение от +3 до +12 на порт RXD

OFF>Как считать это логическое состояние из под линукса?

Вообщето у ком порта есть протокол обмена. Он UART называется.
А чтобы тебе изменение одного бита определять, то для этого юзай LPT порт (интересно его еще ставят в современных компах?). Только там уровни 0 и +5 вольт.
читать из /dev/lpt
UNIX way — это когда тебе вместо туалетной бумаги дают топор, рубанок и карту близлежащего леса
Re[2]: COM Порт
От: bublikOFF  
Дата: 03.08.08 19:44
Оценка:
Программа уже писаная под Windows есть и работает, но писана сторонним програмистом. У мменя задача написать аналагичную но под линукс и компильнуть под платформу mips. Есть только USB и переходник с COM->USB->Virtual COM ... так что 2ая и 5ая нога с нее нужно как то снять логическую смену стостояния
Re: COM Порт
От: antirest  
Дата: 03.08.08 20:08
Оценка:
OFF>Есть счетчик посещений. При посещении на концы (2 конца) подается напряжение от +3 до +12 на порт RXD
OFF>Как считать это логическое состояние из под линукса?

http://www.opennet.ru/base/sys/switcher_hw.txt.html

Вероятно, не вполне то, но скорее всего поможет
Re[3]: COM Порт
От: ДимДимыч Украина http://klug.org.ua
Дата: 06.08.08 09:08
Оценка:
Здравствуйте, bublikOFF, Вы писали:

OFF>Программа уже писаная под Windows есть и работает, но писана сторонним програмистом. У мменя задача написать аналагичную но под линукс и компильнуть под платформу mips. Есть только USB и переходник с COM->USB->Virtual COM ... так что 2ая и 5ая нога с нее нужно как то снять логическую смену стостояния


Уверен, что там всего лишь "подается напряжение от +3 до +12", а не данные по протоколу uart? Если так, то USB-переходник тут никак не поможет.
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
Re[4]: COM Порт
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 08.08.08 10:35
Оценка: 2 (1)
Здравствуйте, ДимДимыч, Вы писали:

ДД>Уверен, что там всего лишь "подается напряжение от +3 до +12", а не данные по протоколу uart? Если так, то USB-переходник тут никак не поможет.


USB-переходники чудесно передают состояние DSR/CTS/RI/CD, равно как и состояние Break (постоянно активный уровень).
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: COM Порт
От: sz36 Россия  
Дата: 08.08.08 21:51
Оценка:
Здравствуйте, bublikOFF, Вы писали:

OFF>Программа уже писаная под Windows есть и работает, но писана сторонним програмистом. У мменя задача написать аналагичную но под линукс и компильнуть под платформу mips.


Переход с 3В до 12В соответствует началу стартбита. Длительность нахождения в состоянии 12В должна быть не менее длительности одного бита на установленной скорости, в этом случае происходит прием байта. Таким образом, если COM принял какой-то байт, значит счетчик сработал. Там, понятно, будут ошибки четности и фрейма, ну да это не важно. Если дребезга нет (или длительность импульса его многократно превышает) можно этим и ограничиться. Если нет — нужно отслеживать переход в обратное состояние, это можно по состоянию break отслеживать. В общем, сделать можно, но человек, что решил завести датчик именно на RXD — знатный проктолог
Re[4]: COM Порт
От: Аноним  
Дата: 09.08.08 16:33
Оценка:
Здравствуйте, sz36, Вы писали:

>но человек, что решил завести датчик именно на RXD — знатный проктолог

Ну вот так вот, у них было изначально. Переделал на DSR. Вроде все пучком, отлавливается момент. Обнаружились другие моменты, но это уже нюансы того что все заводится на точку доступа со всроеным линуксом, как дешовый вариант для автоматизации без применения полноценного ПК.

Благодарю Всех ответевших.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.