В Пнд, 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]