Die Klaase Port_io übernimmt in unserer Beispielimplementation die Verwaltung der Zugriffe auf die parallele Schnittstelle. Für jeden einzelnen port gibt es eine separate Lese- und Schreibefunktion. Im untenstehenden UML-Diagramm wird der Aufbau deutlich.
Diagram 1: UML-Diagramm Klasse port_io
Die Funktionen "w_ueber_378 bis 37A" übernehmen das Anlegen der Daten an die Bits des Parallelports. Die Funktionen "r_ueber_378 bis 37A" sind für das Auslesen der angelegten Daten zuständig. Man benötigt 3 Ports, weil jeder der drei Ports genau 8 Bit, der 24 Bit des Centronicskabels abdecken kann.
Sende_Byte und Empfange_Byte sind Funktionen die unter Verwendung der Portlese- und -schreibbefehle den Versand, bzw. Empfang eines ganzen Bytes übernimmt.
Die einTakten-Funktionen übernehmen die Synchronisation der beiden Partner und stellen die Verbindung her.