В Пнд, 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
адрес порта задается смещением от начала "файла", ну и соответсвенно
чтение-запись байта транслируются в чтение-запись из порта

понятно что ошибка адресом может привести к непредсказуемым
последствиям :)


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Ответить