|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Dmitry E. Oboukhov 2:5004/75.151 22 Jan 2007 16:40:20 To : All Subject : /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 "промаргивают" а дальше опять действия скрипта на них не
влияют.
не подскажет кто в чем дело или же ткнет во внятную хаутушку по
программингу парпорта в линукс?
--- Mutt/1.5.13 (2006-08-11)
* Origin: Я буду воевать только за красных! (2:5004/75.151)
Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/39263860bfc3.html, оценка из 5, голосов 10
|