Модераторы: feodorv, GremlinProg, xvr, Fixin
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> LPT порт и CreateFile()&WriteFile() 
:(
    Опции темы
kurlyak
Дата 22.10.2009, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 218
Регистрация: 7.11.2007

Репутация: нет
Всего: 3



Я знаю есть много способов работать с лпт портом, но я хотел бы через функции CreateFile() WriteFile(). Вот у меня есть такой код-
Код

void CTestDlg::OnButton1() 
{
    // TODO: Add your control notification handler code here

    HANDLE  hLPT=CreateFile("LPT1",GENERIC_WRITE,0,NULL,
        OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
    if (hLPT!=INVALID_HANDLE_VALUE)
    {
        AfxMessageBox("Ok Open LPT1");

        char buffer[25];
        memset(buffer,0,sizeof(buffer));
                strcpy(buffer,"?????????????"); //?????????????????????
        DWORD dw;

OVERLAPPED ov;
        for (int x=0;x < 3;x++)
            WriteFile(hLPT,buffer,sizeof(buffer),&dw,&ov);
        CloseHandle(hLPT);
    }
    else AfxMessageBox("Error Open");


Какое значение написать в строке strcpy(buffer,"?????????????"); что бы на выводе 2 лпт порта была логическая единица?

PM MAIL   Вверх
xvr
Дата 23.10.2009, 11:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 40
Всего: 223



Никакое. Родной Window'ый драйвер LPT порта умеет работать только с 'нормальными' устройствами, подключенными к этому порту (по IEEE1284, если не ошибаюсь). Так что при открытии порта он будет долго махать всеми (управляющими) лапами на нем, пытаясь найти с той стороны что нибудь стандартное, если не найдет, будет считать это обычным принтером (SPP режим), и соотвественно, пока не получит от него ACK ничего делать не будет.
Работа с голым портом 'без ничего' не предусмотренна

Однако, не все так плохо  smile 
Вот что написанно в MSDN:
Цитата

The system-supplied parallel drivers support:

    * Legacy parallel ports, standard parallel port devices, IEEE 1284-compatible devices, IEEE 1284-compliant devices, and IEEE 1284.3 daisy chain devices
    * Most communication modes, including Centronics mode, IEEE 1284 modes, extended capabilities port (ECP) mode, and enhanced parallel port (EPP) mode
    * Plug and Play, power management, and Windows Management Instrumentation (WMI)
    * Shared access to all the parallel ports installed on the system
    * Raw access to all parallel devices
    * IOCTLs and callbacks to operate parallel ports and devices — see IOCTL and Callback Support for Parallel Ports and Devices

В общем ищите тут и тут и главное отсюда

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Системное программирование и WinAPI"
Fixin
GremlinProg
xvr
feodorv
  • Большое количество информации и примеров с использованием функций WinAPI можно найти в MSDN
  • Описание сообщений, уведомлений и примеров с использованием компонент WinAPI (BUTTON, EDIT, STATIC, и т.п.), можно найти в MSDN Control Library
  • Непосредственно, перед созданием новой темы, проверьте заголовок и удостоверьтесь, что он отражает суть обсуждения.
  • После заполнения поля "Название темы", обратите внимание на наличие и содержание панели "А здесь смотрели?", возможно Ваш вопрос уже был решен.
  • Приводите часть кода, в которой предположительно находится проблема или ошибка.
  • Если указываете код, пользуйтесь тегами [code][/code], или их кнопочными аналогами.
  • Если вопрос решен, воспользуйтесь соответствующей ссылкой, расположенной напротив названия темы.
  • Один топик - один вопрос!
  • Перед тем как создать тему - прочтите это .

На данный раздел распространяются Правила форума и Правила раздела С++:Общие вопросы .


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Chipset, Step, Fixin, GremlinProg, xvr. feodorv.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Системное программирование и WinAPI | Следующая тема »


 




[ Время генерации скрипта: 0.0413 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.