Нет, нужен именно LPT. Хотя в программе будет поддерживатся еще и USB. Но сейчас вопрос стоит только для LPT. Это для станков ЧПУ и большинство станков работают именно по LPT. Поэтому и скорость нужна большая (для шаговых двигателей) и стабильная регулировка частот на выходе порта.
Насчет работы с портом через файл если честно немного не понял. Обьясните кто знает. Вот исходник:
Код:
var
Form1: TForm1;
hLPT: THandle;
Data: byte;
Data2: byte;
ret: DWORD;
Address: byte;
const
IOCTL_PAR_SET_WRITE_ADDRESS = $16001C;
Далее процедура при нажатии на кнопку:
Address := $AA;
hLpt := CreateFile('LPT1', GENERIC_READ or GENERIC_WRITE, 0, nil,
OPEN_EXISTING, 0, 0);
DeviceIoControl(hLpt, IOCTL_PAR_SET_WRITE_ADDRESS, @Address, 1, nil, 0, ret, nil);
// Запись
writefile(hlpt, [$55], 1, ret, nil);
// Чтение по адресу
ReadFile(hLPT, Data2, 1, ret, nil);
Panel1.Caption := inttostr(data2);
CloseHandle(hLpt);
Админ: Пользуемся тегами для оформления кода!
Обьясните для чайника где адрес порта? Если это переменная address то почему ее значение $AA? Это же не лпт порт... Пробовал вместо $AA писать 888 и $378, кидал туда самые разные данные но на выходе порта ничего не происходило. Что я делаю нетак?