Вы можете сделать это из пространства пользователя в Linux, записав в /dev/port
, если у вас есть права на запись в /dev/port
(root или какой-либо пользователь с разрешениями на запись).Вы можете сделать это в оболочке с помощью:
echo -en '\001' | dd of=/dev/port bs=1 count=1 skip=888
(обратите внимание, что десятичное число 888 - это 378 гекс).Однажды я написал рабочий драйвер параллельного порта для Linux полностью в сценарии оболочки.(Хотя это было довольно медленно!)
Вы можете сделать это в C в Linux следующим образом:
f = open("/dev/port", O_WRONLY);
lseek(f, 0x378, SEEK_SET);
write(f, "\01", 1);
Очевидно, добавьте #include
и обработку ошибок.