powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / rs-232
3 сообщений из 3, страница 1 из 1
rs-232
    #34601203
ТарасP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите каким образом можно считать инфу с DCD входа com-порта... смог определить что туда что то приходить через Event а, что именно .... не заню как узнать...
Плизз подсакжите =)
...
Рейтинг: 0 / 0
rs-232
    #34601363
батрак
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
обычно посылают команду READ, потом читают из порта, например так:


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
	
char Command[] = "READ\r";
...
Overlap.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
if (!WriteFile(hCom, Command,  5 , &NumberByte, &Overlap))
{	dWaitRes = WaitForSingleObject(Overlap.hEvent, TIMEOUT);
	switch (dWaitRes)
	{	case WAIT_OBJECT_0:	if(!GetOverlappedResult(hCom, &Overlap, &dWrite, FALSE))
						MessageBox(GetActiveWindow(), "Ошибка выполения операции записи.","Ошибка", MB_OK | MB_ICONERROR);
					else
						std::cout << "Write Ok!" << std::endl;
					break;
		case WAIT_TIMEOUT:	MessageBox(GetActiveWindow(), "Вылет по таймауту!", "Внимание", MB_OK | MB_ICONINFORMATION);
					goto lEnd;
					break;
		default: break;
	}
}
...
дальше по аналогии с WriteFile в цикле ReadFile(hCom, buffer, sizeof(buffer), &NumberByte , &Overlap)
...
Рейтинг: 0 / 0
rs-232
    #34601415
ТарасP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
батракобычно посылают команду READ, потом читают из порта, например так:


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
	
char Command[] = "READ\r";
...
Overlap.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
if (!WriteFile(hCom, Command,  5 , &NumberByte, &Overlap))
{	dWaitRes = WaitForSingleObject(Overlap.hEvent, TIMEOUT);
	switch (dWaitRes)
	{	case WAIT_OBJECT_0:	if(!GetOverlappedResult(hCom, &Overlap, &dWrite, FALSE))
						MessageBox(GetActiveWindow(), "Ошибка выполения операции записи.","Ошибка", MB_OK | MB_ICONERROR);
					else
						std::cout << "Write Ok!" << std::endl;
					break;
		case WAIT_TIMEOUT:	MessageBox(GetActiveWindow(), "Вылет по таймауту!", "Внимание", MB_OK | MB_ICONINFORMATION);
					goto lEnd;
					break;
		default: break;
	}
}
...
дальше по аналогии с WriteFile в цикле ReadFile(hCom, buffer, sizeof(buffer), &NumberByte , &Overlap)
Спасибо сегодня вечером попробую =)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / rs-232
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]