[an error occurred while processing this directive]
Пример
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено radga 04 декабря 2003 г. 14:44
В ответ на: вот где бы еще примеры найти... отправлено st256 04 декабря 2003 г. 09:39

Ручаться за этот кусок не могу, так как в процессе работы спалил себе порт, и отложил эту работу в долгий ящик. Но железка уверенно переходила в ecp режим.
Для работы нужно два файла. Один из ddk - ntddpar.h, а второй
откуда-то взял, он нужен, чтобы получить значения для IOCTL_IEEE1284_NEGOTIATE. Могу выслать.

typedef struct _PARCLASS_NEGOTIATION_MASK {
USHORT usReadMask;
USHORT usWriteMask;
} PARCLASS_NEGOTIATION_MASK, *PPARCLASS_NEGOTIATION_MASK;

#include "lpt\Devioctl.h"
#include "lpt\ntddpar.h"

CLPTcommunicator::CLPTcommunicator(BYTE lpt_number)
{
DWORD errors;

lpt_error = 0;

char szPort[12];
sprintf(szPort, "LPT%d", lpt_number);

if ((hCOMM = CreateFile( szPort,
GENERIC_WRITE | GENERIC_READ,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL ))==INVALID_HANDLE_VALUE)
lpt_error = LPT_ERROR_CREATE_FILE;
else {
DWORD ret;
PARCLASS_NEGOTIATION_MASK pn;
result = DeviceIoControl(hCOMM, IOCTL_IEEE1284_GET_MODE, NULL, 0, &pn, sizeof(pn), &ret, NULL);
pn.usReadMask = ECP_ANY;
pn.usWriteMask = ECP_ANY;
result = DeviceIoControl(hCOMM, IOCTL_IEEE1284_NEGOTIATE, &pn, sizeof(pn), &pn, sizeof(pn), &ret, NULL);
}
}
}


Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru