habe einen PCF8574AP am 90S8515 von ATMEL und versuche ihn als Tastatureingabe zu nutzen. das Adressbyte habe ich schon zu ihm geschickt, und er antwortet auch mit einem ACK. nun will ich lesen und er schreibt immer ne "1" egal was ich an den eingängen für pegel habe. gibt es hier einen Trick. Bey Stefan
zum lesen schicke ich eine "0" und danach will ich lesen. am ende warte ich noch auf ein ACK vom Slave.
Hallo, weiß im Moment nicht ob man ne '0' oder ne '1' zum lesen zum PCF senden muß. Aber man sollte zuerst alle IOs, des PCF, die man als Eingang nutzen will mit '1' beschreiben (also hochohmig schalten), bevor man die Taster an den Eingängen abfragt. Hab das mal mit einem PIC gemacht und hat wunderbar funktioniert. Hast Du das schon gemacht? Bis denne, Ralf
Vermute mal, Du hast da was mit den PINx, PORTx, DDx Registern durcheinandergebracht. Ist ja auch nicht so leicht wie beim 8051. Ich empfehle Dir folgendes: PORTx immer auf 0 lesen immer von PINx senden 1: DDx = 0 senden 0: DDx = 1 (also invertiert) Dann sollte es klappen, (externen Pullup nicht vergessen !). Auch wichtig, jeder Puls muß mindestens 5µs lang sein, mehr als 100kHz geht nicht ! Peter
Es liegt am Bit 0. Zum Schreiben ist es 0, zum Lesen muß es 1 sein. Das Bit 0 des Adressbytes ist immer für die Richtung zuständig (0=Write, 1=Read)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.