Какие есть ограничения на работу с COM-портом под W9x/NT без написания драйверов? Действительно ли есть режимы работы COM-порта в которых под W9x/NT нельзя работать? Один мой знакомый утверждает что с его устройством могут общаться только программы написанные либо под DOS, либо под Win16. Сам проверить проверить не могу т.к. его устройство 24 часа и отключить нельзя. Вот и приходиться такие глобальные вопросы задавать. Заранее всем спасибо.
Здравствуйте Legich, Вы писали:
L>Какие есть ограничения на работу с COM-портом под W9x/NT без написания драйверов? Действительно ли есть режимы работы COM-порта в которых под W9x/NT нельзя работать? Один мой знакомый утверждает что с его устройством могут общаться только программы написанные либо под DOS, либо под Win16. Сам проверить проверить не могу т.к. его устройство 24 часа и отключить нельзя. Вот и приходиться такие глобальные вопросы задавать. Заранее всем спасибо.
Функционально наверное никаких ограничений нет, можно читать, писать,
получать состояние линий СОМ порта. Однако если речь идет
о системе реального времени, то тут могут возникнуть проблемы, наверное
это твой знакомый имел ввиду. Например если компьютер должен в точно
заданное время как-то реагировать или что-то посылать в СОМ порт и от
этого зависит работоспособность всей системы, то без написания драйверов тут не обойтись.
В любом случае чтобы знать точно, необходимо посмотреть протокол обмена данного устройства.
Здравствуйте Legich, Вы писали:
L>Какие есть ограничения на работу с COM-портом под W9x/NT без написания драйверов? Действительно ли есть режимы работы COM-порта в которых под W9x/NT нельзя работать? Один мой знакомый утверждает что с его устройством могут общаться только программы написанные либо под DOS, либо под Win16. Сам проверить проверить не могу т.к. его устройство 24 часа и отключить нельзя. Вот и приходиться такие глобальные вопросы задавать. Заранее всем спасибо.
Если правильно написать прогу, то никаких ограничений не будет. Из под вынь с портами можно творить почти все что угодно — по крайней мере я над ними извращался как мог и проблем особых не возникало. Но тут конечно еще все может зависеть и от применения этого девайса — его могли сделать уж слишком оригинальным
Здравствуйте Legich, Вы писали:
L>Какие есть ограничения на работу с COM-портом под W9x/NT без написания драйверов? Действительно ли есть режимы работы COM-порта в которых под W9x/NT нельзя работать? Один мой знакомый утверждает что с его устройством могут общаться только программы написанные либо под DOS, либо под Win16. Сам проверить проверить не могу т.к. его устройство 24 часа и отключить нельзя. Вот и приходиться такие глобальные вопросы задавать. Заранее всем спасибо.
Может, твой знакомый просто не умеет писать такие программы под win32 А пишет их, используя непосредственно порты, а это под WinNT запрещено. Таким образом, не работают не его устройства, а его программы
Теперь серьезно.
На самом деле почти все, что можно сделать через порты, можно и стандартными средствами.
Исключения — это программы, которые должны успеть что-то отработать за строго определенный (маленький) интервал. Тут начинаются проблемы, т.к. в виндах время реакции системы на прерывание довольно большое. В этом случае даже написание драйвера может не помочь, и придется использовать более другую ОС.
Еще одна неприятная проблема, с которой я сталкивался — это необходимость быстро менять параметры порта (например, четность) в момент работы. Вот тут написание драйвера, конечно, поможет.
Здравствуйте Dront, Вы писали:
D>Еще одна неприятная проблема, с которой я сталкивался — это необходимость быстро менять параметры порта (например, четность) в момент работы. Вот тут написание драйвера, конечно, поможет.
А можно поинтересоваться как быстро. Дело в том, что для одного устройства мне тоже приходилось это делать, приходилось все время дергать SetCommState. Сам думал что это будет долго, однако все работает, поэтому решил не будить зверя
Re[3]: Ограничения на работу с COM-портом под W9x/NT
Здравствуйте Dima2, Вы писали:
D>Здравствуйте Dront, Вы писали:
D>>Еще одна неприятная проблема, с которой я сталкивался — это необходимость быстро менять параметры порта (например, четность) в момент работы. Вот тут написание драйвера, конечно, поможет.
D>А можно поинтересоваться как быстро. Дело в том, что для одного устройства мне тоже приходилось это делать, приходилось все время дергать SetCommState. Сам думал что это будет долго, однако все работает, поэтому решил не будить зверя
Может в твоём случае, Dima2, протокол для порта разрабатывал человек, шарящий,
а вот есть комики, которые делают следующие драйвера в устройствах
;Сообщить компутеру двумя фронтами по дтр о том что дивайс свободен:
CALL SetDtrOn
NOP
CALL SetDtrOff
NOP
CALL SetDtrOn
NOP
CALL SetDtrOff
;
вот это будет очень быстро )), если процессор в устроийстве быстр
Тут и кёрнел-мод-драйвер под НТ может вспотеть
Re[4]: Ограничения на работу с COM-портом под W9x/NT
Здравствуйте BAC, Вы писали:
BAC>а вот есть комики, которые делают следующие драйвера в устройствах
BAC>;Сообщить компутеру двумя фронтами по дтр о том что дивайс свободен: BAC>CALL SetDtrOn BAC>NOP BAC>CALL SetDtrOff BAC>NOP BAC>CALL SetDtrOn BAC>NOP BAC>CALL SetDtrOff BAC>; BAC>вот это будет очень быстро )), если процессор в устроийстве быстр
BAC>Тут и кёрнел-мод-драйвер под НТ может вспотеть
Здравствуйте, bonch, Вы писали:
B>Всем привет. Встречный вопрос. Как просмотреть какое приложение использует в данный момент СОМ порт?
Есть такая штука как PortMon (www.sysinternals.com)
Legich
Re[3]: Ограничения на работу с COM-портом под W9x/NT