реклама на сайте
подробности

 
 
> А как дёргать лапами LPT через ВинАПИ?, По аналогии с СОМ не получается.
Dr.Alex
сообщение Nov 21 2010, 13:42
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 386
Регистрация: 5-04-05
Из: моська, RF
Пользователь №: 3 863



Port = CreateFile ("LPT1", .... ) успешно открывает порт,
но WriteFile (Port, ....) ничего не выводит.
А еще хотелось бы какие-то функции, чтоб остальные лапы контролировать....
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ReAl
сообщение Nov 21 2010, 15:20
Сообщение #2


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Так WriteFile же, небось, хочет, чтобы ему ACK-али и вааще BUSY изображали, а то и вообще в EPP/ECP режиме работали. Т.е. ждёт на том конце какое-то устройство.
Статусные/управляющие ноги можно опросить/подёргать (проверки для простоты исключены)
Код
#include <windows.h>
#include <ddk/ntddk.h>
#include <ddk/ntddpar.h>
...
    HANDLE hLpt = CreateFile( "LPT1", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL );

    UCHAR ParInfo;
    DWORD ret;

    DeviceIoControl(hLpt, IOCTL_PAR_QUERY_INFORMATION, NULL, 0, &ParInfo, sizeof(ParInfo),  &ret, NULL);
    // В ParInfo состояние статсных входов.
...
Устанавливать ножки управления через IOCTL_PAR_SET_INFORMATION
Смотреть где-то там http://msdn.microsoft.com/en-us/library/ff...28VS.85%29.aspx


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
Dr.Alex
сообщение Nov 21 2010, 15:23
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 386
Регистрация: 5-04-05
Из: моська, RF
Пользователь №: 3 863



АСКать пробовал, тупо ставя его в низкий уровень, неужто ещё и фронты создавать надо.. :-))
В остальном спасибо.
Go to the top of the page
 
+Quote Post
paskal
сообщение Dec 18 2010, 16:41
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 352
Регистрация: 29-10-06
Из: Тула
Пользователь №: 21 769



Цитата(Dr.Alex @ Nov 21 2010, 21:23) *
АСКать пробовал, тупо ставя его в низкий уровень, неужто ещё и фронты создавать надо.. :-))

Здесь расписаны сигналы стандартного LPT порта: http://www.theiling.de/parport/centronics.html Как видим по линии strobe должен быть импульс, просто определенный уровень выдать недостаточно. А вообще первоисточник стандарт IEEE1284
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th June 2025 - 01:51
Рейтинг@Mail.ru


Страница сгенерированна за 0.01374 секунд с 7
ELECTRONIX ©2004-2016