WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  C / C++ / Visual C++
  Слушание COM-порта на Вижульном Ц под винды

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Слушание COM-порта на Вижульном Ц под винды
darkus опубликован 09-01-2002 14:14 MSK   Click Here to See the Profile for darkus   Click Here to Email darkus  
Здравствуйте, коллеги...

Организовалась у меня проблема - нужно мне в недельный срок написать программу, которая будет слушать ОДИН COM-порт, в который будут периодически пихаться данные с внешнего устройства (конкретн - GPS с протоколом TSIP). Помогите советами и чем сможете в организации этого дела.

Благодарен буду сильно :)

eyes опубликован 09-01-2002 15:03 MSK     Click Here to See the Profile for eyes  Click Here to Email eyes     
ну мы люди простые... поясни мдуракам GPS с протоколом TSIP
darkus опубликован 09-01-2002 15:05 MSK     Click Here to See the Profile for darkus  Click Here to Email darkus     
Да это все фигня. Протокол я реализовал уже. Система обычная - из порта сваливаются пакеты, которые надо валидировать и разбирать. Если пакет верный, то он декодируется и интерпретируется каким-либо образом.

Меня же интересует технология прослушки самого порта. Мне это не ясно.

eyes опубликован 09-01-2002 15:45 MSK     Click Here to See the Profile for eyes  Click Here to Email eyes     
Завтра кину сурсы с портом, если не опередят:) А вообще я тоже ни бум-бум в программировании...
darkus опубликован 09-01-2002 15:51 MSK     Click Here to See the Profile for darkus  Click Here to Email darkus     
Кидай, а то у меня только в дельфяшном обжект паскале есть. А мне в вижуальный Ц переписывать в лом, да и парадигмы различаются.

Да, если не сложно будет, сможешь сразу рассказать, где что в твоих сырцах?

Jack опубликован 09-01-2002 15:55 MSK     Click Here to See the Profile for Jack  Click Here to Email Jack     
http://www.happytown.ru/prog/practika/com_win32.html
eyes опубликован 09-01-2002 16:13 MSK     Click Here to See the Profile for eyes  Click Here to Email eyes     
Сырцы под винапи работают с момедом.. Нужны?
darkus опубликован 09-01-2002 16:18 MSK     Click Here to See the Profile for darkus  Click Here to Email darkus     
Для WIN API не нужны, мне потом все равно под Linux придется переписывать. Мне бы кто просто на пальцах объяснил, что делать нужно. Скорее, даже, не надо программ, а простенькую блок-схему, не шибко детализированную.
darkus опубликован 09-01-2002 16:22 MSK     Click Here to See the Profile for darkus  Click Here to Email darkus     
Спасибо, Jack. Замечательная статья...
eyes опубликован 09-01-2002 16:43 MSK     Click Here to See the Profile for eyes  Click Here to Email eyes     
Да простит меня purpe, но некоторые топики я сохраняю и сделаю ДОСтупными 4 всех.
Пис пипл!
Секс2джек
DEiL опубликован 09-01-2002 17:36 MSK     Click Here to See the Profile for DEiL  Click Here to Email DEiL     
я летом парлися и писал такую же программу. только хард упал и сырцы улетели :(

2darkus -> основной алгоритм был такой - открываешь ком-порт как файл и просто читаешь\пишешь оттуда :)
если в линукс переписывать придётся, то вообще халява - там этот девайс точно как файл представлен.
только наверное ридётся сделать неблокируемым дескриптор - сам знаешь для чего. надеюсь это сработает:)
но лучше обратись к алкаголику lamo - он у нас *nix-герой :)

darkus опубликован 09-01-2002 17:52 MSK     Click Here to See the Profile for darkus  Click Here to Email darkus     
Я тут погорячился с линуксом. Руководство сказало, что не потребуется :). Однако под винды надо. Как открыть файл COM? мне понятно. Только вот как слушать порт? Ведь данные оттуда летят независимо от ОС или компа. Конкретно, GPS передает свои координаты и другую ахинею с интервалом в одну секунду. Т.е. надо в отдельной нити вешать какой-то прослушиватель, я правильно понимаю?..
Jack опубликован 09-01-2002 19:01 MSK     Click Here to See the Profile for Jack  Click Here to Email Jack     
2darkus: Да, правильно.
Летом я баловался в этом направлении - и остался набросок для чтения из COM-порта в файл.
Если интересно посмотри:
ftp://ftp.mpibank.ru/pub/primer.zip или
ftp://linux.mpibank.ru/pub/primer.zip или
ftp://194.84.122.67/pub/primer.zip
(не знаю вернули нас в доменной зону РУ или нет)
darkus опубликован 10-01-2002 10:49 MSK     Click Here to See the Profile for darkus  Click Here to Email darkus     
Да, спасибо Jack. Я твой пример скачаю (если удастся) и посмотрю. Ежели возникнут вопросы, то я сразу к тебе, ладно?
darkus опубликован 10-01-2002 13:32 MSK     Click Here to See the Profile for darkus  Click Here to Email darkus     
Вот и возник первый вопрос. Обязательно ли организовывать бесконечный цикл для того, чтобы отслеживать изменения в канале COM-порта?
Jack опубликован 10-01-2002 13:45 MSK     Click Here to See the Profile for Jack  Click Here to Email Jack     
Конечно нет. Эту гадость я писал для разового использования - перехватить трафик СОМ-порта и запихать в файл, для последующего анализа. Поэтому прога и оформлена без выкрутасов, как косоль. Как организовать чтение тебе - зависит от архитектуры твоего приложения. Т.к. GPS выдает данные с интервалом в секунду, возможно удастся успеть их обработать тут-же, не плодя нитей. Если приложение предполагается интерактивным - лучше создать для приема/обработки отдельную нить. В общем - тебе виднее.
darkus опубликован 10-01-2002 14:18 MSK     Click Here to See the Profile for darkus  Click Here to Email darkus     
Ну я думаю создать отдельную нить, туда как раз и запихнуть бесконечный цикл для прослушки. А в основном потоке программы делать все остальные свои действия. Я на правильном пути?
Jack опубликован 10-01-2002 14:34 MSK     Click Here to See the Profile for Jack  Click Here to Email Jack     
IMHO ДА.

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.