Re: /dev/lp0
В Пнд, 22/01/2007 в 15:40 +0300, Dmitry E. Oboukhov пишет:
> кто работал с параллельным портом в смысле программирования?
> тут понадобилось временный девайс сделать нули/единички с компа выдать.
> чтобы схему не собирать подумалось с парпорта выдать...
>
> ну и сунулся я в хаутушки, а что-то невнятно
>
> пишут что
> 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;
> }
>
> и вот что-то не работает как ожидается (мигать раз в сек должен)
делаю то же самое на питоне
но используется там не /dev/lp0 (как тут заметили это более высокий
уровень), а /dev/port (только от рута, иначе не получается)
судя по перловому тексту, нужен именно он - при использовании /dev/port
адрес порта задается смещением от начала "файла", ну и соответсвенно
чтение-запись байта транслируются в чтение-запись из порта
понятно что ошибка адресом может привести к непредсказуемым
последствиям :)
Reply to:
- References:
- /dev/lp0
- From: "Dmitry E. Oboukhov" <dimka@avanto.org>