powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Работа с LPT портом в CBuilder 6.0
11 сообщений из 11, страница 1 из 1
Работа с LPT портом в CBuilder 6.0
    #34053195
Тёмыччч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите разобраться как отослать команду на LPT порт. Нашёл прогу useport но не понял как её использовать. Надо на эмулятор ПЗУ послать команду, чтобы на нём лампочки загорелись и динамик запищал. Но это не главное, помогите понять как реализовать механизм передачи команды на LPT порт.
...
Рейтинг: 0 / 0
Работа с LPT портом в CBuilder 6.0
    #34053236
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТёмычччПомогите разобраться как отослать команду на LPT порт. Нашёл прогу useport но не понял как её использовать. Надо на эмулятор ПЗУ послать команду, чтобы на нём лампочки загорелись и динамик запищал. Но это не главное, помогите понять как реализовать механизм передачи команды на LPT порт.

А поискать?

компоненты

на прямую
...
Рейтинг: 0 / 0
Работа с LPT портом в CBuilder 6.0
    #34053532
Dmitrii K.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Работа с LPT портом в CBuilder 6.0
    #34062397
Тёмыччч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребят, а ссskjxrb то дохлые. Может что поновее есть? Укажите пожайлуста, где взять.
...
Рейтинг: 0 / 0
Работа с LPT портом в CBuilder 6.0
    #34062401
Тёмыччч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребят, а ссskjxrb то дохлые. Может что поновее есть? Укажите пожайлуста, где взять.
...
Рейтинг: 0 / 0
Работа с LPT портом в CBuilder 6.0
    #34062404
Тёмыччч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можете и на мыло(Redhydra@yandex.ru) выслать информацию или ссылочки.
...
Рейтинг: 0 / 0
Работа с LPT портом в CBuilder 6.0
    #34062501
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТёмычччРебят, а ссskjxrb то дохлые. Может что поновее есть? Укажите пожайлуста, где взять.

Шо?
...
Рейтинг: 0 / 0
Работа с LPT портом в CBuilder 6.0
    #34065476
Тёмыччч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Sorry,Punto Switcher раскладку переключилючил,я заметил.Так вот, ссылки которые оставили не работают. Мне информация нужна по работе с LPT портом в CBuilder.
...
Рейтинг: 0 / 0
Работа с LPT портом в CBuilder 6.0
    #34065556
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как это не работают?

Шаг 12 - Работа с COM и LPT портом CreateFile.
Работать с LPT и COM портом для Windows можно использовав функцию CreateFile. В Windows, как и в DOS остались имена файлов, которые давать нельзя типа

COM
LPT
CON
AUX
....

Попытка создать файл с таким именем приводит к перенаправлению информации на соответствующий порт или устройство. Вот на этом не всегда удобном свойcтве и основанна работа с устройствами. Надо создать файл с таким именем и выводить в него информацию. Смотрите пример ниже.

// CreateFile.cpp : Defines the entry point for the console application.
//

#include "stdafx.h"
#include "windows.h"
#include "iostream.h"


void main()
{
HANDLE hLPT=CreateFile("LPT1",GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if (hLPT!=INVALID_HANDLE_VALUE)
{
cout << " Ok Open LPT1" << endl;
char buffer[25];
memset(buffer,0,sizeof(buffer));
strcpy(buffer,"Hello LPT ");
DWORD dw;
OVERLAPPED ov;
for (int x=0;x < 3;x++) WriteFile(hLPT,buffer,sizeof(buffer),&dw,&ov);
CloseHandle(hLPT);
}
else cout << "Error Open" << endl;
}

Как видите, я создаю файл с именем LPT1 и вывожу туда информацию. Что я получу ?? Зависит от принтера. Я проверял на Epson Stylus 1000. Запускал программу, а потом печатал пустой лист из блокнота. В результате на принтер выводилась строка Hello LPT. Почему я печатал из блокнота пустой лист ?? Дело в том, что у принтера есть буфер и он не напечатает ничего пока этот буфер не переполнится или не поступит команда конец страницы !! Так как я ESC коды этого принтера не помню :-)))) я просто начал печатать из блокнота новый документ, а это подразумевает, что старый надо завершить печатать кстати. Вот он и напечатал.

Таким образом зная протокол обмена между портами и устройствами можно создавать программы, которые будут работать без драйверов или сами драйвера создавать :-))).
...
Рейтинг: 0 / 0
Работа с LPT портом в CBuilder 6.0
    #34065572
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Страничку по ссылке Дмитрия, выслал на мыло.
...
Рейтинг: 0 / 0
Работа с LPT портом в CBuilder 6.0
    #34065884
Мурзилка12
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
блин, писал длинный и умный ответ, но он сбросился:(

суть такая:

1. Что бы обмен работал через CreateFile, необходимо что бы эмулятор поддерживал все особенности интерфейса порта, т.е. работу со стробом, шина данных, адреса и т.п.
2. В абс. большинстве случаев требуется нестандартная работа с портом, и средствами винапи не обойтись.

Под Вин9х было проще, можно было напрямую писать в порт и всё работало, но в линейке НТ напрямую писать нельзя.
В таких случаях требуется или написание или использование специального драйвера. Сих драйверов много, ничего в голову сейчас не приходит, но стоит копнуть и всё найдётся.

Я к тому, что работа с CreateFile, скорее всего, неправильное направление, а вот useport, скорее всего, правильное.

И с 13го октября прошло довольно времени, не только что бы с портом разобраться, но и что бы эмулятор написать. Так что есть еще и элемент лени:)
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Работа с LPT портом в CBuilder 6.0
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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