/dev/lp0
кто работал с параллельным портом в смысле программирования?
тут понадобилось временный девайс сделать нули/единички с компа выдать.
чтобы схему не собирать подумалось с парпорта выдать...
ну и сунулся я в хаутушки, а что-то невнятно
пишут что
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 "промаргивают" а дальше опять действия скрипта на них не
влияют.
не подскажет кто в чем дело или же ткнет во внятную хаутушку по
программингу парпорта в линукс?
Reply to: