Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / rs-232 / 3 сообщений из 3, страница 1 из 1
18.06.2007, 11:22
    #34601203
ТарасP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rs-232
Подскажите каким образом можно считать инфу с DCD входа com-порта... смог определить что туда что то приходить через Event а, что именно .... не заню как узнать...
Плизз подсакжите =)
...
Рейтинг: 0 / 0
18.06.2007, 12:11
    #34601363
батрак
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rs-232
обычно посылают команду 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
18.06.2007, 12:26
    #34601415
ТарасP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
rs-232
батракобычно посылают команду 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
Форумы / C++ [игнор отключен] [закрыт для гостей] / rs-232 / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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