38d1736f

Пример кода


Здесь приведен кусок простого примера для доступа к портам ввода/вывода:

/* * example.c: очень простой пример для порта ввода/вывода * * Этот код не делает ничего полезного, только запись в порт, пауза, * и чтение из порта. Откомпилируйте `gcc -O2 -o example example.c', * и запустите под root `./example'. */

#include #include #include

#define BASEPORT 0x378 /* lp1 */

int main() { /* Получить доступ к порту */ if (ioperm(BASEPORT, 3, 1)) {perror("ioperm"); exit(1);}

/* Вывод в порт (0) */ outb(0, BASEPORT);

/* Задержка (100 мс) */ usleep(100000);

/* Чтение из порта (BASEPORT+1) и вывод результатов на экран */ printf("статус: %d\n", inb(BASEPORT + 1));

/* Мы больше не нуждаемся больше в порту */ if (ioperm(BASEPORT, 3, 0)) {perror("ioperm"); exit(1);}

exit(0); }

/* конец example.c */



Содержание раздела