Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

COM порт [D6, WinXP]


Страницы:   1 2 3

fantomas ©   (2004-04-04 03:00:00) 

Реально ли из своей проги читать данные с COM порта, с которым уже работает другая программа? Спасибо.


tesseract   (2004-04-14 10:03:00) [21]

Как писать дрова под Win????? ну как, можно MSDN почитать, там есть DDK с примерами дров.
Можно зайти на WASM.RU - если ASM не претит. Если не тянет - можно почитать статьи о перехвате
API функций - (если нужная прога через CreateFile в порт пишет). Это слишкомбольшая тема.


GanibalLector   (2004-04-14 00:05:00) [22]

2 Германн ©   (13.04.04 01:36) [20]
Не,в родстве с Михаилом Сергеевичев ЗАМЕЧЕН НЕ БЫЛ!!!
По поводу остального,ну и как работать с vxd?Просто я не встречал ВООБЩЕ нигде этого.Посоветуйте что-ли литературу или исходничек(на худой конец :) ).

2 tesseract ©   (13.04.04 10:01) [21]
Вопрос тот-же,как писать дрова???Литературу или сабж может видели?И еще,PortMon это Ж просто программа,а не дрова.Но у них все получилось.

Кстати,я тут взглянул на список сервисов,так вот, там присутствует PortMon,млин.Правда он скрыт,в закладке Services его нет.


tesseract   (2004-04-13 10:01:00) [23]

Перехват значений подающихся на COM - порт возможен, но только если идёт запись через функции API. следующий выход - написаний собственных дров!


Германн   (2004-04-13 01:36:00) [24]

2 GanibalLector ©   (12.04.04 23:59) [19]
Имхо, не прав. Во-первых исходники когда-то были, тут еще раз имхо. Во-вторых не вижу проблем во взаимотношениях С, Дельфи и vxd. Ни одно из перечисленных трех не противоречит двум оставшимся.

Уж не родственник ли ты Михал Сергеичу?
"вылаживал" и "ложат и ложат" - уж больно родственные огрехи языка! :-)


GanibalLector   (2004-04-12 23:59:00) [25]

2 Германн ©   (12.04.04 02:10) [18]
>Но, увы, насколько я знаю, исходники - уже не публикуются.

Насколько я знаю,СИСИНТЕРНАЛС никогда их и не вылаживал.
Хуже всего то,что PORTMON написан на Сях.И,даже при всем желании на Delphi это не реализовать т.к. там все через vxd.Или я не прав?


Германн   (2004-04-12 02:10:00) [26]

2 GanibalLector ©   (11.04.04 02:23) [17
Ну, portmon, вроде как и не претендует на...?
А вот "технология драйвера фильтра", которую он использует - как раз претендует. Но, увы, насколько я знаю, исходники - уже не публикуются. Имхо.


GanibalLector   (2004-04-11 02:23:00) [27]

>>>Ihor Osov'yak
>но и менять данные на лету

Как???Вроде заглянул во все дыры(меню в смысле :) ) PortMon и опять нифига не нашел.
Может это из-за версии???Какую надо ставить???И как менять на лету???


Ihor Osov'yak   (2004-04-10 15:31:00) [28]

Штатно открыть не получится, даже если программа,  первой открывшая порт, позволяет шаринг - см. исходники драйверов ком-портов, которые идут в качестве семплов с DDK. Драйвер сам следит за тем, чтобы порт был открыт только "единыжды".

PortMon использует технологию драйвера - фильтра. По этой технологии можно не только мониторить (что собственно и делает утилита от сисинтерналс), но и менять данные на лету. Что никто вам не запрещает сделать самому :-).

Кроме драйвера фильтра можно еще использовать перехват соотв. апишных функций, но это немного криво, так как недокументировано. Хотя тогда не нужно связываться  с режимом ядра.

Естественно, самый простой вариант - см. [12] NikB, также не обязательно виртуальные - лишь бы физических хватило :-).


GanibalLector   (2004-04-10 00:45:00) [29]

>>>NikB
Спасибо,ща я попробую!!!


Германн   (2004-04-09 22:22:00) [30]

2 chek   (09.04.04 19:25) [13]
А с параметром OPEN_EXISTING не подходит тоже? :)))


chek   (2004-04-09 19:25:00) [31]

есть прога на http://www.aggsoft.com/Advanced Serial Port Monitor так вот она вешается на порт шпионом (провда лекарство требует ато через 15 дней умирает). Если сильно надо в твоей проге то попробуй отловить Api которые она использует.
ЗЫ Внимательно изучаем 5 параметр функции//
Все поняли че я хотел сказать а  CreateFile(даже с параметром только для чтения) не подходит


NikB   (2004-04-09 12:16:00) [32]

>>> GanibalLector ©
Когда мне приходится "перехватывать и изменять значения пришедший из порта" ползую виртуалньи порт ( http://www.virtualserialport.com/ ).
Я делаю так: из физического порта (напр. Com1) моя прога получает что-то (напр. "AAAA"), а потом изменяет и посилает его ("BBCCCDDD") на вируалнии порт (напр Com5). Виртуалнии порт "связан" виртуално с второй виртуалнии порт (напр. Com6). Так мой компютер получает на Com6 "мониторить и менять" из Com1.
А на Com6 может ждать моя или какая-та другая програма.


jack128   (2004-04-09 12:13:00) [33]


> попробуй не CreateFile (эта функция создает новый)
Что новый? Ком порт?? Круто!!! :-)

ЗЫ Внимательно изучаем 5 параметр функции


chek   (2004-04-09 09:29:00) [34]

попробуй не CreateFile (эта функция создает новый) а, openFile (вроде так) я её нашол когда модуль шерстил. Если че у меня и структуры описание есть.


MegaVolt   (2004-04-08 09:39:00) [35]

Если написать свой драйвер то запросто можно и мониторить и менять. Возможно эти проги так и делают. Хотя наверное можно как то ловить обращения к самому драйверу.


GanibalLector   (2004-04-08 03:19:00) [36]

Народ,как найти tesseract???
Он говорит,что можно перехватывать и изменять значения пришедший из порта.Ну,с перехватом понятно,А КАК ИЗМЕНЯТЬ???


GanibalLector   (2004-04-05 22:12:00) [37]

2tesseract
Что-то ты приувеличил на счет изменения значений!!!
Впервые слышу ,что PortMon позволяет изменять то,что пришло из порта.Ты случаем не ошибся???


NikB   (2004-04-05 21:38:00) [38]

PortMon делает monitoring всех команд к порту (напр. перемена скорости и/или количество стоп битов).
Очень харошая програма, мне тоже интересно как она сделана :)


tesseract   (2004-04-05 09:47:00) [39]

Смотреть что послали да, можно перехватывать и изменять значения. Но UART микросхема реализует RS232 полудуплексный порт, не поддерживающий сети устройств. Возможно профконтроллеры такое и позволят, но не факт.


GanibalLector   (2004-04-05 02:45:00) [40]

Pat прав!!!
Прога называется PortMon.
Коректно работает только с W2k(и выше),т.е. показывает что посылается\принимается.В Win9X такое явление отсутствует(ну,пишет что принял,а самого значения нет:( )
Вот такие вот дела...


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо