-
-
Erfahrener Benutzer
Roboter Genie
das ist schlecht
- ich progge in pascal. aber so schwer sollte es nicht sein. die basisadresse ist 40h schreiben/41h lesen wenn A0-A2 auf masse liegt.
ich weiß nicht, wie das bei deinem compiler ist: ich muß die oben 7 bits nach rechts schieben und hab so automatisch 20h schreibend und lesend. der compiler macht daraus automatisch 40h und 41h je nach dem ob ich I2COut oder I2CInp mache
.
ich weiß nicht, ob dir das so etwas bringt ....
initialisierung beider ports als output
I2COut($20,$06,$00); //adresse, configration-register 6, output
I2COut($20,$07,$00); //adresse, configration-register 7, output
ausgabe von daten:
I2COut($20,$02,Out1); //Bit 0-7
I2COut($20,$03,Out2); //Bit 8-15
wenn du etwas einlesen willst, muß so konfiguriert werden:
I2COut($20,$06,$FF); //adresse, configration-register 6, input
I2COut($20,$07,$FF); //adresse, configration-register 7, input
es kann jeder pin unabhängig von den anderen als input oder output eingestellt werden - 1 = input / 0 = output
lesen der eingänge mit
I2CInp($20,$00,Data1);
I2CInp($20,$01,Data2);
interessant ist vielleicht noch die möglichkeit die eingänge zu invertieren:
I2COut($20,$04,$00); //Polarity Inversion Register Bit 0-7
I2COut($20,$05,$00); //Polarity Inversion Register Bit 8-15
0 = "normal" .... 1 = invertiert
wenn du konkrete fragen hast: fragen
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- Anhänge hochladen: Nein
- Beiträge bearbeiten: Nein
-
Foren-Regeln
Lesezeichen