Forum: Mikrocontroller und Digitale Elektronik I²C-Probleme


von Thomas Klingbeil (Gast)


Lesenswert?

Ich benutze einen ATmega128, programmiert mit avr-gcc und der avrlib...

Und mein Problem mit dem I2C ist folgendes:

Das ganze bleibt jetzt schon nach dem i2cSendStart hängen (bzw. beim
i2cWaitForComplete)... Bin mir aber sicher, dass die Verkabelung in
Ordnung ist... Habe jetzt als Pullups 4,7K gegen +5V in Benutzung

Spannung (gegen Masse gemessen): (ohne Pullups)
SCL 0,8V
SDA 1,0V

(mit Pullups)
SCL 1V
SDA 3V

Hat auch alles schonmal funktioniert... Aber irgendwie ging's dann
plötzlich nichtmehr... Hab auch die komplette Verkabelung neu
gemacht... Der "Rest" des Controllers funktioniert aber. Hab auch
schon verschiedene Geräte angeschlossen (also Slaves)... Die haben auch
alle definitiv schon einmal mit meinen Funktionen gearbeitet...
Bus-Geschwindigkeit habe ich schon 10 und 100 probiert.

Hat jemand irgendwelche Ideen?

Danke, Thomas

von KoF (Gast)


Lesenswert?

hmm müsste nicht sda und scl den selben pegel ( in deinem fall nahezu 5v
) haben?

meine I²C aufbauten haben nahezu die selbe spannung (3,3v) auf den
leitungen (wenn keine daten anliegen (durchgehendes high)) wie die
versorgungsspannung des uC`s

mfg KoF

von Thomas Klingbeil (Gast)


Lesenswert?

Woran kann das denn liegen?
muss nach dem

i2cInit()
und
i2cSetBitrate(100)

noch irgendetwas gemacht werden (Datenrichtungsregister oder sowas?)

von Thomas Klingbeil (Gast)


Lesenswert?

Ich habe es gerad mal getestet, was passiert, wenn das Programm garkeine
 Befehle ausführt (als erstes in der main-Funktion einfach ein while(1)
{}   )

Die gemessenen Spannungswerte sind genau die gleichen, wie vorher...
Ist der Controller kaputt?

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.