Hallo,
mit welcher Busgeschwindigkeit sprichst Du den PCF an ?
Der kann nur bis 100kHz, der SRF kann bis 400kHz !
Hallo!
Ich wollte gerade mal den PCF8574 Portexpander testen. Dazu verwende ich die I2C Library von Peter Fleury. I2C müsste auf der Controllerseite auch stimmen, da zB mein SRF10 problemlos erkannt wird. Aber rufe ich das i2c_start mit der Adresse des PCF auf, so passiert nichts weiter. Der Controller bearbeitet auch die Befehle danach nicht - befindet sich demnach in einer Endlosschleife.
Das hier ist das aktuelle Testprogramm:
uint16_t i;
Die Adresse müsste 0x70 sein, da ich an meinem PCF 8574 AP A0-A2 auf Masse gelegt habe. Und der PCF ist auch nicht kaputt, da ich das ganze schon mit 2 neuen getestet habe.Code:i2c_init(); lcd_init(LCD_DISP_ON); lcd_clrscr(); _delay_ms(100); lcd_puts("status:"); i2c_start(0x70); lcd_puts('connected'); i2c_stop(); lcd_puts('stopped');
Hat jemand vtl. eine Idee?
MfG rXenon
Hallo,
mit welcher Busgeschwindigkeit sprichst Du den PCF an ?
Der kann nur bis 100kHz, der SRF kann bis 400kHz !
Hallo
Meiner Meinung nach hat der 8574 Adresse 4xh, der 8574A 7xh.
Mit freundlichen Grüßen
Benno
Wo man nicht mit Vernunft handelt, da ist auch Eifer nichts nütze; und wer hastig läuft, der tritt fehl.
Ein König richtet das Land auf durchs Recht; wer aber viel Steuern erhebt, richtet es zugrunde
Busgeschwindigkeit beträgt 50kHz.
Ja wie ich gesagt habe, sollte die Adresse 0x70 sein oder nach deiner Schreibweise 70h. Zu Testzwecken habe ich es auch schon mit 0x40 probiert. Aber leider kein Erfolg.
Hallo
Das wären aber die Schreibadressen. Zum Lesen müßtest Du die 71h ansprechen.
Mit freundlichen Grüßen
Benno
Wo man nicht mit Vernunft handelt, da ist auch Eifer nichts nütze; und wer hastig läuft, der tritt fehl.
Ein König richtet das Land auf durchs Recht; wer aber viel Steuern erhebt, richtet es zugrunde
Aber im Prinzip ist das doch erstmal egal oder? Schließlich geht es erstmal nur darum, dass i2c_start erfolgreich aufzurufen. Und das müsste sowohl mit 70 als auch 71 funktionieren.
hast du ein Oszi und kannst dir ansehen, ob der PCF auf seine Adresse reagiert?
Ne, leider nicht.
Oh man! Habe endlich den Fehler gefunden:
Immer wenn der SRF10 auch am Bus hing, funktionierte alles einwandfrei! Also müsste es an einem Pullup liegen. Jedoch ist bereits ein 10k Ohm Pullup am AVR angeschlossen, deshalb habe ich daran nicht mehr gedacht. Naja wenn ich noch einen kleinen Pullup dazuschalte funktioniert alles wunderbar.
Trotzdem Dankeschön für die vielen Bemühungen, die ja schon zum Scheitern verurteilt waren aufgrund des blöden Fehlers
MfG rXenon
Lesezeichen