Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Компоненты для работы с Com-портом и лечение к ним, или (+)
Форум программистов > Системное программирование > C, С++ и С Builder > Borland C++ Builder & Kylix
picoman
Ищу для BCB6 Компоненты для работы с COM-портом и лечение к ним,
ИЛИ
грамотные способы работы с портом без написания драйверов.

1. Как возможно приложению адекватно работать с ком-портом, ведь время выполнения ему предоставляется непредсказуемо?
С отправкой/приёмом в порт блоков данных понятно, есть стандартный драйвер Windows который доступен через файл порта, но как приложению чётко управлять устройством (чтобы ответ устройству уходил сразу после приёма данных от устройства)? Мне говорили что для BCB есть компоненты которые решают все эти проблемы без написания драйвера устройства. Интересно как они работают (это драйвер конфигурируемый или что?), как написать поведение системы при работе с устройством через эти компоненты, код пишешь для компонента отдельно, а приложение связываешь с компонентом уже через системный буфер?

Помогите кто может!

Спасибо.

Андрей.
Kmet
Цитата
чтобы ответ устройству уходил сразу после приёма данных от устройства

имхо, никак, на третьем кольце точно.
zubr
Используя DeviceIoControl вместо ReadFile, WriteFile скорость работы с COM-портом на пользовательском уровне увеличится. Но гарантии, что ответ устройству будет уходить сразу после приёма данных нет, даже и на уровне ядра. Можешь еще повысить приоритет своему приложению, которое работает с компортом, но тогда другие программы, работающие в системе будут "отдыхать".
picoman
Цитата(zubr @ 20:09:2007, 08:43 ) *
Используя DeviceIoControl вместо ReadFile, WriteFile скорость работы с COM-портом на пользовательском уровне увеличится. Но гарантии, что ответ устройству будет уходить сразу после приёма данных нет, даже и на уровне ядра. Можешь еще повысить приоритет своему приложению, которое работает с компортом, но тогда другие программы, работающие в системе будут "отдыхать".


Что значит но гарантии, что ответ устройству будет уходить сразу после приёма данных нет, даже и на уровне ядра?
А как тогда под Windows работают устройства требующие жёсткой привязки (синхронного обмена)?

Андрей.
zubr
Не путай понятия - синхронный обмен и таймауты при выполнении операций, это разные вещи. Синхронный обмен данными между внешним устройством и COM-портом легко создается на прикладном уровне, для этого не надо драйвер городить. Советую почитать литературу по данному профилю.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2008 IPS, Inc.