Re: /dev/lp0
On Mon, Jan 22, 2007 at 03:40:20PM +0300, Dmitry E. Oboukhov wrote:
> кто работал с параллельным портом в смысле программирования?
> тут понадобилось временный девайс сделать нули/единички с компа выдать.
> чтобы схему не собирать подумалось с парпорта выдать...
>
> ну и сунулся я в хаутушки, а что-то невнятно
>
> пишут что
> base_address+0 - егойная шина данных
> base_address+1 - входные линии управления
> base_address+2 - выходные линии управления
>
> скидал скриптик на перле, повесил пару светодиодов.
>
> один на данные, второй на один из выходов управления
>
> скрипт что-то вроде
>
> #!/usr/bin/perl
>
> my $base=0;
> my $out=0;
> open my $port, ">", "/dev/lp0";
> {
> seek 0, $base+0, 0;
> print $port pack('C', $out);
> seek 0, $base+2, 0;
> print $port pack('C', $out);
> $out^=0xFF;
> sleep 1;
> redo;
> }
>
> и вот что-то не работает как ожидается (мигать раз в сек должен)
>
> для меня темный момент с базовым адресом остался я так и не понял 0x378
> тудыть надо или 0, что-то невнятно как-то написано, но пробовал и так и
> этак - фиг.
>
> пробовал так же заменять print на syswrite, seek на sysseek итп
> думал мож с буфферизацией что - хез.
>
> светодиодики подключенные все время светятся, при прохождении через
> функцию open "промаргивают" а дальше опять действия скрипта на них не
> влияют.
>
> не подскажет кто в чем дело или же ткнет во внятную хаутушку по
> программингу парпорта в линукс?
Копать в сторону модуля ppdev и устройства parport, которое он
обслуживает. Конкретнее в сторону ioctl. Там всё очень просто.
--
Yauhen Kharuzhy jekhor _at_ gmail.com
JID: jek@xdsl.by
A: No
Q: Should I quote below my post?
Reply to:
- References:
- /dev/lp0
- From: "Dmitry E. Oboukhov" <dimka@avanto.org>