Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/25: Рейтинг темы: голосов - 25, средняя оценка - 4.96
0 / 0 / 0
Регистрация: 26.04.2009
Сообщений: 16

Мониторинг последовательного порта

26.04.2009, 09:52. Показов 5219. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день коллеги,

работаю сейчас над проектом, где надо мониторить все устройства, подключенные к Ком портам. Бьюсь над этим уже вторую неделю, безрезультатно. Проблема в том, что Винда (XP/2003/2000) не допускает одновременно подключаться двум программам к порту.

Прошу не предлагать готовые проги, типа Free Serial Port Monitor, мне они не подойдут, потому что необходимо потом обрабатывать полученные данные. В идеале устроят созданные библиотеки для мониторинга или идеи, в какую сторону копать.

Пытался хукнуть процесс, который обрабатывает Комы, но он от svchost, и ОС не дала мне туда доступа.

Заранее благодарю за любую наводку в этом вопросе.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
26.04.2009, 09:52
Ответы с готовыми решениями:

Как принять число из последовательного порта и отобразить его в edit_box?
Как принять число из последовательного порта и отобразить его?Работаю с помощью CreateFile и ReadFile, но если создать порт и записать в...

Программирование последовательного порта.
Здраствуйте. Помогите кто чем может в поиске литературы, исходников по программированию последовательного порта. Получил тему написать...

Настройка последовательного порта
Добрый день. Возникла проблема с настройкой и, соответственно, использованием последовательного порта. Если я все правильно понимаю,...

13
0 / 0 / 0
Регистрация: 09.04.2009
Сообщений: 14
26.04.2009, 10:04
Привет, ты наверное сейчас занят, но может быть ты подскажешь мне что делать с этим?! :Создать панель виртуального прибора. Прибор является источником постоянного напряжения или постоянного тока, в зависимости от состояния соответствующего органа управления. Выходное значение грубо регулируется выбором диапазона, например, 0ё15 В и 15ё30 В. Аналогично для силы тока. Плавная регулировка осуществляется соответствующим ползунком (Slider). Установленное значение отображается на числовом индикаторе. Еще одним ползунком имитируется сопротивление нагрузки. В зависимости от режима работы рассчитывается значение выходного напряжения или тока, расчетное значение выводится в соответствующем поле. Организовать защиту по превышению порога выходного тока. В случае срабатывания защиты выдается соответствующее диагностическое сообщение.....Может знаешь какиенить книги, где описано создание виртуаотного прибора на языке С++?
0
0 / 0 / 0
Регистрация: 26.04.2009
Сообщений: 16
26.04.2009, 10:46  [ТС]
А что через элементы MFC это нельзя сделать? Пусть это не будет так красиво,
но будешь иметь стандартный интерфейс и главное быстро это делается. Ну а потом уже, если проект пойдет, можно уже и красоту навести, используя графические библиотеки.
0
0 / 0 / 0
Регистрация: 09.04.2009
Сообщений: 14
26.04.2009, 10:57
Да можно конечно, просто я в С++ практически не разбираюсь, недавно начали изучать толькоХотела попросить помощи, может кто уже делал такое
0
0 / 0 / 0
Регистрация: 26.04.2009
Сообщений: 16
26.04.2009, 11:03  [ТС]
Цитата Сообщение от Зая Посмотреть сообщение
Да можно конечно, просто я в С++ практически не разбираюсь, недавно начали изучать толькоХотела попросить помощи, может кто уже делал такое
Значит есть повод начать изучать. Книг по Visual C++ море...... Выбири потолще с примерами и вперед. А искать специфику, да еще не зная языка программирования, пустая трата времени.
0
 Аватар для Шерсть-На-Носу
48 / 48 / 8
Регистрация: 30.01.2009
Сообщений: 168
26.04.2009, 11:03
Цитата Сообщение от Vicul Посмотреть сообщение
мониторить все устройства, подключенные к Ком портам
А через драйвер не пробовал?
0
0 / 0 / 0
Регистрация: 26.04.2009
Сообщений: 16
26.04.2009, 11:06  [ТС]
Цитата Сообщение от Шерсть-На-Носу Посмотреть сообщение
А через драйвер не пробовал?
Это как?
0
 Аватар для Шерсть-На-Носу
48 / 48 / 8
Регистрация: 30.01.2009
Сообщений: 168
26.04.2009, 11:17
Ищи книжку Несвижского "Программирование аппаратных средств (2004)". К ней прилагается драйвер для WinXP и описано, как с ним работать.
0
0 / 0 / 0
Регистрация: 26.04.2009
Сообщений: 16
26.04.2009, 13:04  [ТС]
Цитата Сообщение от Шерсть-На-Носу Посмотреть сообщение
Ищи книжку Несвижского "Программирование аппаратных средств (2004)". К ней прилагается драйвер для WinXP и описано, как с ним работать.
Спасибо за наводку, сейчас пробью этот вариант.

Пробежался я по этой книге, в глубь конечно сильно не копал. В принципе уже кое-что, как-то можно получить доступ к регистрам порта через этот драйвер. Но стоит вопрос - как организовать синхронизацию моей программы и, скажем, драйвера модема? Хотя тут можно как-то прерывания порта использовать для оповещения о приходе данных. Но вот другая проблема более сложная - как читать данные, которые комп передает на модем? Ведь в микросхеме регистр приема и передачи находится по одному адресу, т.е. если мы записываем данные, то они идут на передачу, а считать мы можем только инфу, что пришла. Т.о. инфа на передачу будет потерена. Или я ошибаюсь?


Еще идеи?
0
 Аватар для Шерсть-На-Носу
48 / 48 / 8
Регистрация: 30.01.2009
Сообщений: 168
30.04.2009, 22:05
Рылся сейчас в своих заначках на будущее, нашел вот что: в состав Windows XP входит такая штука - MSCOMM32.OCX. Работать с ней не приходилось, определенно могу сказать только что этот ActiveX предназначен как раз для работы с портами.
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
30.04.2009, 22:21
Все уже украдено до нас!
Serial Port Splitter : http://www.fabulatech.com/seri... itter.html

А если все-таки хочется получить прямой доступ к регистрам порта, посмотри на библиотеку WinIO: http://www.internals.com/
0
0 / 0 / 0
Регистрация: 26.04.2009
Сообщений: 16
01.05.2009, 09:54  [ТС]
Всем спасибо,
Начну с книги, драйвер никакой, возможно он работал на НТи, но на последних Виндах он не возжелал. На форумах народ хреново отзывается об этой книге - куча ошибок, опечаток, и похоже автор писал книгу для ранних Виндов 9x/NT, а для последних ОС проработка была только формальная. Короче по инету погулил и нашел первоисточник этого драйвера , откуда драл его автор (http://www.internals.com/). Причем этот первоисточник без всяких там драконьих правил об авторских правах. Вообщем поставил я его и без проблем добрался до портов Кома. Тут то и возникла другая проблема - это синхронизация моей программы с драйверами устройств подключенных к этим Комам. Т.е. пока я считываю байт инфы, десяток байтов успеваю пропустить, а также у микросхемы есть особенность, если я считываю поступивший байт, микросхема сбрасывает соответсвующий флаг на регистре соостояния, т.о. для программы, которую я мониторю, этот байт будет потерян. Отсюда вывод, перехват инфы нужно делать не на уровне порта (т.е. оставить обработку порта на уровне BIOS - int 14h), а делать мониторинг области памяти, куда int 14h сливает инфу. Ведь когда мы работаем на уровне CreateFile/ReadFile/WriteFile, мы считываем не байт, а всю инфу поступившую на порт, а значит должна быть область памяти, где находится эта инфа. Как найти эту область - идей у меня нет.

>Serial Port Splitter : http://www.fabulatech.com/seri... itter.html

Я прорабатывал этот вариант, применения этого кабеля невозможно, все Комы заняты под другие устройства: модем, сканер штрих-кода и т.д.
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
01.05.2009, 11:28
Какой кабель????
As a result we have created a powerful application Serial Port Splitter that allows you to get access to a device connected to a COM port from several applications simultaneously.
0
0 / 0 / 0
Регистрация: 26.04.2009
Сообщений: 16
01.05.2009, 11:46  [ТС]
Сорри, не провтыкал, как увидел кабель, так и вспомнил один из методов мониторинга через такой кабель. Как я писал вначале, мне не подходит готовое приложение, и боюсь заказчик не раскрутится еще на 129$, а сбросить их со своего стороны - тогда проект будет мне невыгоден.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.05.2009, 11:46
Помогаю со студенческими работами здесь

приемник последовательного порта
как реализовывается приемник последовательного порта ???? и передатчик (= если не лень на vhdl(предпочтительнее) или др

Программирование последовательного порта
Добрый день, камрады. Не знаю в верный ли подраздел форума я обращаюсь! Прошу строго не судить! Но вопрос у меня будет следующий. У меня...

Распределение данных с последовательного порта
Имеется такой код в VB6 Private Sub Command1_Click() MSComm1.CommPort = 2 MSComm1.Settings = "9600,n,8,1" MSComm1.InputLen =...

Чтение из последовательного порта по протоколу RS232
Добрый день , собственно имеется такой вопрос, работаю с устройством , необходимо реализовать чтение данных из порта , сейчас чтение...

20-40 выключателей в данные для последовательного порта
В электронике не разбираюсь, просто толкните в нужном направлении. Есть несколько кнопок - 20-30 штук, длина проводов к ним до 30...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru