[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: