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

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

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2010, 20:45   #1
Assemblerru
Форумчанин
 
Регистрация: 28.01.2010
Сообщений: 224
Восклицание работа с протами ввода вывода

как описать порт LPT или COM для вывода и ввода переменной описаной как:
unsigned char A = 0x2d;
данный код должен исполняться под Win 32. Написанный под C++ Bulder. у меня есть код но немогу с ним разобраться:

char bufer = 0xfd;//это будем передавать
char buffer[10];
DWORD Writ;
HANDLE h=CreateFile("LPT1",GENERIC_READ|GE NERIC_WRITE,0,NULL, OPEN_EXISTING,0, NULL );
WriteFile(h, &buffer, strlen(buffer), &Writ, NULL);
CloseHandle(h);
всему свое время как зиме и весне
и каждому солнцу свой неба кусок
Assemblerru вне форума Ответить с цитированием
Старый 29.01.2010, 00:18   #2
liljon
Форумчанин
 
Регистрация: 03.01.2010
Сообщений: 229
По умолчанию

Код:
        HANDLE h = CreateFile("\\\\.\\LPT1", GENERIC_READ|GENERIC_WRITE, 0,NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL,NULL);
	DCB dcb;
	GetCommState(m_hFile, &dcb);

	COMMTIMEOUTS CommTimeOuts;
	CommTimeOuts.ReadIntervalTimeout		 = MAXDWORD;
	CommTimeOuts.ReadTotalTimeoutMultiplier  = 0;
	CommTimeOuts.ReadTotalTimeoutConstant    = 0;
	CommTimeOuts.WriteTotalTimeoutMultiplier = 0;
	CommTimeOuts.WriteTotalTimeoutConstant   = 1000;

	SetCommTimeouts(m_hFile, &CommTimeOuts);


	dcb.ByteSize = 8;             
	dcb.Parity   = NOPARITY;        
	dcb.StopBits = ONESTOPBIT;    
	dcb.BaudRate = baud;

	SetCommState(m_hFile, &dcb);

        char bufer = 0xfd;
	DWORD lpdwBytesWrittens = 0;
	WriteFile(h, &bufer, sizeof(char), &lpdwBytesWrittens, NULL);
подпись
liljon вне форума Ответить с цитированием
Старый 29.01.2010, 19:54   #3
Assemblerru
Форумчанин
 
Регистрация: 28.01.2010
Сообщений: 224
По умолчанию

А как этим пользоваться?
всему свое время как зиме и весне
и каждому солнцу свой неба кусок
Assemblerru вне форума Ответить с цитированием
Старый 06.02.2010, 18:08   #4
Assemblerru
Форумчанин
 
Регистрация: 28.01.2010
Сообщений: 224
По умолчанию

COMMTIMEOUTS CommTimeOuts;
CommTimeOuts.ReadIntervalTimeout = MAXDWORD;
CommTimeOuts.ReadTotalTimeoutMultip lier = 0;
CommTimeOuts.ReadTotalTimeoutConsta nt = 0;
CommTimeOuts.WriteTotalTimeoutMulti plier = 0;
CommTimeOuts.WriteTotalTimeoutConst ant = 1000;

SetCommTimeouts(m_hFile, &CommTimeOuts);


dcb.ByteSize = 8;
dcb.Parity = NOPARITY;
dcb.StopBits = ONESTOPBIT;
dcb.BaudRate = baud;

SetCommState(m_hFile, &dcb);


на эти строки у меня кампилятор выдает ошибку что это.....
всему свое время как зиме и весне
и каждому солнцу свой неба кусок
Assemblerru вне форума Ответить с цитированием
Старый 05.03.2010, 20:53   #5
Assemblerru
Форумчанин
 
Регистрация: 28.01.2010
Сообщений: 224
По умолчанию

скажите а кто работал с lptwdmio.sys разработанным Грецко Ю. Б.
http://progrex.narod.ru. Данный драйвер может работать с портами ввода вывода.

как этим драйвером пользоваться.
всему свое время как зиме и весне
и каждому солнцу свой неба кусок
Assemblerru вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибки в функциях ввода-вывода (Си) spirit_trapper Помощь студентам 2 28.12.2009 12:54
Перенаправление ввода/вывода dudeboy Win Api 0 16.11.2009 11:36
JavaScript поля ввода/вывода Doublefaced Помощь студентам 2 03.06.2009 01:36
система ввода вывода StudentPolitech Общие вопросы C/C++ 3 02.04.2009 22:22