Wer nicht basteln möchte, kann den Datenport auch per Software mit dem folgenden kleinen Programm auslesen:
#include <sys/io.h> #include <stdio.h> #define BASEADDR 0x378 int main () { if (!ioperm (0x378, 1, 1)) printf ("Der Inhalt des I/O-Ports 0x%x ist 0x%x.\n", BASEADDR, inb (BASEADDR)); else printf ("I/O Permission Fehler.\n"); return 0; }Damit die Codegenerierung nicht mit einer Fehlermeldung abbricht, muss mindestens die Compiler-Optimierungsstufe -O beim gcc-Aufruf angegeben werden, also z.B.
gcc -Wall -O2 -o iotest iotest.c
Autor: gkemnitz, Letzte Änderung: 14.04.2011 15:09:59