Модераторы: Akina

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как отловить приход данных на COM-порт? без применения контролов 
V
    Опции темы
JusTalionis
Дата 10.3.2008, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 576
Регистрация: 11.7.2006

Репутация: 6
Всего: 17



COM-порт открыт при помощи оператора Open как файл.
Задача: получать с него периодически появляющиеся данные. 

Можно, конечно, непрерывно проверять его: пришли данные, или нет. Но это грубое решение. Хочется использовать событие от COM-порта. Можно ли это сделать без использования контрола?

PM MAIL   Вверх
Akina
Дата 10.3.2008, 21:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 453



В указанных условиях - однозначно нет.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Denjs
Дата 10.3.2008, 23:08 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 3.3.2008

Репутация: нет
Всего: нет



я запускал в отдельном потоке именно циклическое чтение, предварительно настроив таймаут чтения. т.е. второй поток висит скажем 1 ms потом смотрит - не вывешен ли флаг завершитсья , складывает полученные полученные данные и снова в цикл чтения. Таймаут даже нафиг не нужен кроме того, что иначе процессор будет вешаться...

Не совсем красиво, но я почему-то не смог подсунуть ссылку на метод заданного объекта вместо указателя на функцию асинхронного вызова (или как там оно называется...)... потому пришлось извращатсья с потоками, ибо организовывать отдельную "висячую функцию" посреди набора объектов - это имхо сродни извращению...


PM MAIL   Вверх
JusTalionis
Дата 10.3.2008, 23:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 576
Регистрация: 11.7.2006

Репутация: 6
Всего: 17



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

PM MAIL   Вверх
GorbunovDiman
Дата 13.3.2008, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 3.3.2008

Репутация: нет
Всего: нет



Люди а как вообще работать с COM портом? smile 
PM MAIL   Вверх
Akina
Дата 13.3.2008, 08:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 453



Цитата(GorbunovDiman @  13.3.2008,  09:53 Найти цитируемый пост)
как вообще работать с COM портом

Берем описание драйвера IOPort и читаем до полного просветления


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
GorbunovDiman
Дата 13.3.2008, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 3.3.2008

Репутация: нет
Всего: нет



Цитата

Берем описание драйвера IOPort и читаем до полного просветления 

 smile 
А где его отрыть? smile  smile 
PM MAIL   Вверх
Akina
Дата 13.3.2008, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 453



Отбросить предубеждения и использовать поиск по Инету. Гугль дает нужную ссылку уже на первой странице.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
JusTalionis
Дата 13.3.2008, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 576
Регистрация: 11.7.2006

Репутация: 6
Всего: 17



Цитата(Akina @  13.3.2008,  08:58 Найти цитируемый пост)
Берем описание драйвера IOPort 
 Акин, это ты перепутал машинныи порт c асинхронным, или я чо-то пропустил?


PM MAIL   Вверх
Akina
Дата 13.3.2008, 22:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 453



А с СОМ-портом, пардон, с использованием IRQ, а не поллинга, ты как собираешься мимо портов ввода-вывода работать? использование IOPort просто избавляет от необходимости писАть собственный драйвер ядра.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
JusTalionis
Дата 13.3.2008, 22:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 576
Регистрация: 11.7.2006

Репутация: 6
Всего: 17



Это, в общем "нелегальный" путь. Например в XP обращение к железу не весьма приветствуется.
Как мне показалось, GorbunovDiman спрашивал про штатные бейсиковские способы работы с COM.

PM MAIL   Вверх
Akina
Дата 13.3.2008, 23:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20570
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 34
Всего: 453



Цитата(JusTalionis @  13.3.2008,  23:55 Найти цитируемый пост)
Это, в общем "нелегальный" путь. Например в XP обращение к железу не весьма приветствуется.

Гм... мне это утверждение кажется сомнительным.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
Denjs
Дата 13.3.2008, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 3.3.2008

Репутация: нет
Всего: нет



Цитата(Akina @ 13.3.2008,  08:58)
Цитата(GorbunovDiman @  13.3.2008,  09:53 Найти цитируемый пост)
как вообще работать с COM портом

Берем описание драйвера IOPort и читаем до полного просветления

да что вы все прицепились к этому ioPORTS?
мы народ плечистый - нам работать с контроллером напрямую - раз плюнуть.. да?

подыму в обсуждение тему работы с COM-портами через файлы.
в отношении QB не скажу что и как, но если заинтересует C++ исходник - что бы по аналогии разобраться - примеры есть и много. могу и свои исходники дать.

Цитата
Цитата(JusTalionis @  13.3.2008,  23:55 Найти цитируемый пост)
Это, в общем "нелегальный" путь. Например в XP обращение к железу не весьма приветствуется.
Гм... мне это утверждение кажется сомнительным.

а я не соглашусь.  "нелегальный" путь - это мягко сказано... это настоящее "варварство". Причем не приветствуется оно нигде. ни в windows ни в linux.
Непосредственно "железом" такого рода должны заниматься драйвера или система. 
и я молчу об относительной сложности работы с контроллером "напрямую" по сравнению с работой с файлами.




Это сообщение отредактировал(а) Denjs - 13.3.2008, 23:39
PM MAIL   Вверх
JusTalionis
Дата 13.3.2008, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 576
Регистрация: 11.7.2006

Репутация: 6
Всего: 17



Akina
Не знаю именно про "IOPort", но что-то очень похожее я юзал, и в 98 всё было ОК, а под XP - фигушки smile 

Denjs
В VB даже по сравнению с QB по этой теме есть существенные различия, а про Си - вообще молчу.


Это сообщение отредактировал(а) JusTalionis - 13.3.2008, 23:32
PM MAIL   Вверх
Denjs
Дата 13.3.2008, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 3.3.2008

Репутация: нет
Всего: нет



Цитата(JusTalionis @ 13.3.2008,  23:28)
Denjs
В VB даже по сравнению с QB по этой теме есть существенные различия, а про Си - вообще молчу.

гм... а в VB что? *DCB структуру на что-то другое заменили?


Это сообщение отредактировал(а) Denjs - 13.3.2008, 23:46
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.1783 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.