Форум программистов
 
О проблемах с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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


Ответ
 
Опции темы
Старый 17.09.2007, 19:15   #1
DeLure
 
Регистрация: 17.09.2007
Сообщений: 4
Радость Как получить данные с COM-порта или другого любого порта?

Подскажите пожалуйста как можна реализовать такую процедуру, как сохранение/отображение в окне данных приходящих в COM-порт или другой любой порт (например с АЦП).

Можно ли это реализовать как динамически изменяющююся зависимость (в риалтайме)?

Может существует какя нибудь литература по этому поводу, или исходники, подскажите пожалуйста.

Зарание огромное спасибо!!!
DeLure вне форума Ответить с цитированием
Старый 18.09.2007, 17:23   #2
Walker
Пользователь
 
Регистрация: 03.09.2007
Сообщений: 28
По умолчанию

юзай ассемблер ! (вставь код в Си). А что значит "динамически изменяющююся зависимость" ?
Walker вне форума Ответить с цитированием
Старый 19.09.2007, 10:15   #3
studenth
Форумчанин
 
Регистрация: 10.09.2007
Сообщений: 105
По умолчанию

Цитата:
Сообщение от Walker Посмотреть сообщение
юзай ассемблер ! (вставь код в Си)."
По поводу асм блоков в C++ Builder.
Их возможности ограничены. Работать с портами не получится. Это вроде точно!
Скорее всего нужно использовать WinApi. Ведь винда с портами работает на ура, ровным счетом как и с сетевыми протоколами.

В реал тайме можно. Можно и графически это все обставить.
Литература такая: "Программирование аппаратных средств ПК" (Несвижский) - но это как справочник. Не для новичков.

В общем случае с портами можно общаться и используя функции BIOS. Можешь почитать про них.
Бог сделал людей разными, а генерал Кольт уравнял шансы

Последний раз редактировалось studenth; 19.09.2007 в 10:21.
studenth вне форума Ответить с цитированием
Старый 19.09.2007, 10:47   #4
merax
Форумчанин
 
Регистрация: 27.12.2006
Сообщений: 955
По умолчанию

Вы чего пацаны, какой блин ассемблер.
Кто хоть раз сталкивался с программами типа Гиппер Tерминала и ему подобных то он знает, что работа с com портом равнозначна работе с txt файлом... Он создаеться в него пишут и из него читают. Не надо ничего усложнять, все делаеться просто хось на С++ хоть на Delphi.


Код:

HANDLE CreateFile(LPCTSTR lpFileName, DWORD dwDesiredAccess, DWORD dwShareMode, LPSECURITY_ATTRIBUTES lpSecurityAttributes, DWORD dwCreationDistribution, DWORDdwFlagsAndAttributes, HANDLE hTemplateFile);


BOOL WriteFile( HANDLE hFile, LPCVOID lpBuffer, DWORD nNumberOfBytesToWrite, LPDWORD lpNumberOfBytesWritten, LPOVERLAPPED lpOverlapped );
Первый параметр функции CreateFile - имя файла, но если вы поставите там имя COM1, то эта функция будет работать с первым COM портом. Также можно поставить: COM2, COM3, COM4, LPT, CON, AUX.

Ниже приведён кусок кода записи данных в COM порт.


	HANDLE hCOM=CreateFile("COM1",GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
	if (hCOM!=INVALID_HANDLE_VALUE)
	{
		cout <<"COM1 is open OK!";
merax вне форума Ответить с цитированием
Старый 19.09.2007, 23:47   #5
DeLure
 
Регистрация: 17.09.2007
Сообщений: 4
Радость Проверка программы?

Я написал, откомпелировал и запустил программу, которая по сути должна выводить на экран информацию поступающую на СОМ-порт.
Для проверки работоспособности такой программы подключил мишь в СОМ-порт.

После запуска консоль была чистая и ничего не выполнялось.

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

Как лучше проверить такую прогу, если никакого микроконтролера и АЦП под рукой нету))??
DeLure вне форума Ответить с цитированием
Старый 19.09.2007, 23:50   #6
DeLure
 
Регистрация: 17.09.2007
Сообщений: 4
По умолчанию

Большое спасибо за советы и рекомендуемую литературу!!!
DeLure вне форума Ответить с цитированием
Ответ
Купить рекламу на форуме 20000 рублей в месяц

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
считывание из СОМ(или USB) порта voron29 Общие вопросы Delphi 1 29.06.2008 12:09
программирование lpt порта alexs2141 Общие вопросы Delphi 5 07.06.2008 16:10
Как считывать данные с COM,LPT порта и нарисовать график Sergiu Фриланс 2 22.12.2007 11:53
Сниффер порта keng00r00 Работа с сетью в Delphi 1 22.04.2007 07:53


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS