Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.02.2012, 17:14   #1
cambit
Новичок
Джуниор
 
Регистрация: 15.02.2012
Сообщений: 1
По умолчанию программа для работы с СОМ-портом

Уважаемые СПЕЦЫ! Я в Visual С++ полный "0", и, учитывая возраст (за 40) и работу, особо вникать не получится, поэтому прошу помочь: существует одна задача: нужно написать программу, которая бы резидентно висела-бы в Windows и при нажатии кнопки (сторонней, подключенной к СОМ-порту), запускала бы на выполнение медиаплеер. Нашел вот эту статью (http://www.pcports.ru/articles/com_3.php), но как изменить код, чтоб запускался файл при появлении логической "1" например, на выводе DSR(не принципиально), а не показать цифру в окошке, как в статье, не знаю. Помогите!!! Если можно - по-подробнее, начиная с САМОГО начала.
cambit вне форума Ответить с цитированием
Старый 16.02.2012, 17:57   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

...вот все-таки батники незаслуженно игнорируются любителями высокоуровневых языков, а тем не менее даже на них можно решить задачи по мониторингу не только удаленных хостов, но и мониторинга COM-порта. К примеру, возникла задача реагирования (запуска какого-либо приложения) на приход сигнала на один из пинов, кнопка к примеру (выставить DTR тот же и замкнуть с CTS).

Напомню еще раз распиновку COM-порта:
Цитата:
Номер вывода Наименование Характер сигнала Сигнал
1 DCD Входной Data carrier detect
2 RxD Выходной Transmit data
3 TxD Входной Receive data
4 DTR Выходной Data terminal ready
5 GND - Ground
6 DSR Входной Data set ready
7 RTS Выходной Request to send
8 CTS Входной Clear to send
9 RI Входной Ring indicator
Нам нужно управлять состоянием устройства ввода-вывода. Одной из таких команд - mode (синтаксис см. по mode /?):


Что мы видим? Видим возможность установки скорости, паритета, служебных пинов, паритета и иже с ними. А что нам даст обращение (mode com1) к конкретному COM-порту? А вот сие даст:


Cостояние пинов и настроек порта. Можем прочитать? Можем. Для этого воспользуемся FIND="параметр" (важно точное указание всех знаков):
Код:
@ echo off
mode com1 dtr=on > nul
:m1
mode com1 | find "CTS:     ON" > nul
if errorlevel=1 goto m1
if errorlevel=0 start notepad.exe
Флаги:
"dtr=on" установит единичку на DTR.
"> nul" - этим мы убираем вывод ответа на экран.
"errorlevel" - отрабатываем результат выполнения.



Если команда FIND не нашла в ответе "CTS: ON", то повторить опрос по циклу. Ежели нашла, запустит блокнотик
Вложения
Тип файла: txt comstartcts.bat.txt (131 байт, 131 просмотров)
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
программа для работы с COM портом BARNEY Фриланс 2 03.02.2012 16:00
Работа с СОМ портом Ivanko Общие вопросы Delphi 2 16.02.2010 10:58
Нужна программа-пользовательская для ПК желательно на С, простая,но работающая с сом-портом Alexa Фриланс 2 30.04.2009 16:50
Программа работы USB портом NemeZis Win Api 0 11.04.2009 14:46