|
0 / 0 / 0
Регистрация: 26.04.2009
Сообщений: 16
|
|
Мониторинг последовательного порта26.04.2009, 09:52. Показов 5219. Ответов 13
Метки нет (Все метки)
Добрый день коллеги,
работаю сейчас над проектом, где надо мониторить все устройства, подключенные к Ком портам. Бьюсь над этим уже вторую неделю, безрезультатно. Проблема в том, что Винда (XP/2003/2000) не допускает одновременно подключаться двум программам к порту. Прошу не предлагать готовые проги, типа Free Serial Port Monitor, мне они не подойдут, потому что необходимо потом обрабатывать полученные данные. В идеале устроят созданные библиотеки для мониторинга или идеи, в какую сторону копать. Пытался хукнуть процесс, который обрабатывает Комы, но он от svchost, и ОС не дала мне туда доступа. Заранее благодарю за любую наводку в этом вопросе.
0
|
|
| 26.04.2009, 09:52 | |
|
Ответы с готовыми решениями:
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 [ТС] | ||
|
0
|
||
|
48 / 48 / 8
Регистрация: 30.01.2009
Сообщений: 168
|
|
| 26.04.2009, 11:03 | |
|
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 [ТС] | ||
|
Пробежался я по этой книге, в глубь конечно сильно не копал. В принципе уже кое-что, как-то можно получить доступ к регистрам порта через этот драйвер. Но стоит вопрос - как организовать синхронизацию моей программы и, скажем, драйвера модема? Хотя тут можно как-то прерывания порта использовать для оповещения о приходе данных. Но вот другая проблема более сложная - как читать данные, которые комп передает на модем? Ведь в микросхеме регистр приема и передачи находится по одному адресу, т.е. если мы записываем данные, то они идут на передачу, а считать мы можем только инфу, что пришла. Т.о. инфа на передачу будет потерена. Или я ошибаюсь? Еще идеи?
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 | ||
|
Какой кабель????
0
|
||
|
0 / 0 / 0
Регистрация: 26.04.2009
Сообщений: 16
|
|
| 01.05.2009, 11:46 [ТС] | |
|
Сорри, не провтыкал, как увидел кабель, так и вспомнил один из методов мониторинга через такой кабель. Как я писал вначале, мне не подходит готовое приложение, и боюсь заказчик не раскрутится еще на 129$, а сбросить их со своего стороны - тогда проект будет мне невыгоден.
0
|
|
| 01.05.2009, 11:46 | |
|
Помогаю со студенческими работами здесь
14
приемник последовательного порта Программирование последовательного порта Распределение данных с последовательного порта Чтение из последовательного порта по протоколу RS232 20-40 выключателей в данные для последовательного порта Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Загрузка 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 , при. . .
|