Forum: Mikrocontroller und Digitale Elektronik MSSP I2C PIC16F87X


von Tobias J. (tobiasjohn) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe immer noch ein Problem mit dem I2C-Bus.

Ich versuche das MSSP-Modul des PIC16F87X mit einem EEPROM 
(24LC128/24LC256) zum Laufen zu bewegen.
Leider bisher ohne Erfolg.
Ich habe diverse Beispiel-Programm schon ausprobiert und programmiere 
nun seit Wochen daran.
Leider komme ich auf keinen grünen Zweig.

Am Oszi kann ich leider nur Änderungen an den Pegeln von SDA und SCL 
erkennen - leider keine Bitfolge die von PIC rausgesendet wird.
Ich hab gerade festgestellt, dass bei jedem Reset die Leitungen 
unterschiedliche Pegel annehmen.
1. Reset: SDA/SCL Low
2. Reset: SDA Low, SCL High
3. Reset: SDA High, SCL Low
4. Reset - wieder von vorne wie beim 1. Reset

Kann mir jemand bei der Lösung des Problems unter die Arme greifen?

Im Anhang findet ihr die aktuelle Version der Routinen.

Zusammengefasst bedeutet es, dass ich zur Zeit zwei Probleme habe:

1. Es werden am Oszi keine Bitfolgen angezeigt, es scheint als würde der 
PIC überhaupt keine Daten raussenden.
2. Ich lese immer den Wert (161 / 0xA1) - also die Read-Adresse
3. Ich kann nicht testen ob wirklich geschrieben wird

Pullup Widerstände habe ich 1,8K bzw. bei einem zweiten Aufbau 10k. Mit 
dem CC5X-Compiler habe ich vor einigen Monaten schon einmal Software-I2C 
zum Laufen gebracht.

Jetzt benutze ich den Hi-Tech PICC, da ich bald eine Lizenz hierfür 
bekommen werde.

Danke und Gruß,
 Tobias

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
Noch kein Account? Hier anmelden.