Hallo,
danke erstmal für den Tip.
Ich Nutze ( zwischenzeitlich ) ioctl mit
1. PPDATADIR (input = 1) und ioctl(fd,PPRDATA &x)
um die Daten in x einzulesen.
entsprechend
PPDATADIR (output=0) und PPWDATA, &x
zum schreiben.
Das Problem mit dem Wiedereinlesen scheint damit teilweise gelöst.
Jetzt kann ich zwar lesen, aber noch nicht das, was ich erwarte.
Es sind halb-reproduzierbare "Hausnummern" die aber mit dem
geschriebenen nichts zu tun haben.
(Erklärung :
Ich will mit dem 8255 einen 6264 oder später einen 28C64(EEPROM)
Speicherbaustein beschreiben.
Adressieren klappt (messbar). Beim Beschreiben bin ich mir noch nicht
sicher, da die gelesenen Ergebnisse nicht schlüssig sind.)
Den 8255 muß ich zwischendurch auf Port C von Ausgabe auf Eingabe
umschalten. Das Ganze geschieht über die Steuerleitungen
(Strobe, INIT, Autofeed und Select) Zwie Leitungen steuern, welche
Register, die anderen beiden sind für Schreiben oder Lesen.
Die WE, CS ect. Leitungen werden durch die für die Adressierung des
Speichers nicht benötigten Bits geschaltet.
Der Reiz der Schaltung liegt in dem Minimalistischen Aufwand der
Bauteile. Die Idee stammt von folgender Internetseite :
http://users.swing.be/gonzague.colpaert/prog.html
Allerdings ist in seinem Schaltungsentwurf ein kleiner Fehler.
Die Reset Schaltung ist so immer gesetzt ! Dann läuft gar nichts.
Ich habe das ganze sehr ähnlich - leicht veränderte Leitungsführung und
damit eine veränderte Adressierung - nachgebaut (Lochraster)
und möchte aber unter Linux entwickeln.
Gruß
cs