Ich hab einen beschleunigungssensor mit I2C an einen arduino angehängt, mit der wire library. Hardware I2C. Geht bestens. Dann hab ich dasselbe mit peter fleury's software I2C (i2cmaster.h und i2cmaster.s) auf einen atmega168 probiert. Geht nicht. Immer nur nack's. Die signale hab ich mit meinem DSO aufgezeichnet. Oben die funktionierende arduino variante, unten die bitbang variante. Was ist da anders ? Hilfe !
Ich seh da schon unterschiede ... das Timing muss exakt gemaess Datenblatt sein.
Ja, SDA und SCL vertaucht. Jetzt gehts. Manno ich hab 4 stunden gesucht !
Cesco G. schrieb: > Was ist da > anders ?Was ist da anders ? Wenn du so fragst. Der Slave gibt kein Ack bei der Fleury Lib. Signalmäßig sehe ich keinen Grund, warum der nicht mit einem "ich bin da" antworten sollte. Gruß Oliver
Delta Oschi schrieb: > Ich seh da schon unterschiede ... das Timing muss exakt gemaess > Datenblatt sein. Dass man es bei I2C so genau nehmen muss, ist mir neu, aber lasse mich gerne eines Besseren belehren. Gruß Oliver
Oliver J. schrieb: > Dass man es bei I2C so genau nehmen muss, ist mir neu, aber lasse mich > gerne eines Besseren belehren. Eigentlich gibt es viel Spielraum im Timing. Trotzdem habe ich mal einen Master in Händen gehabt, bei dem vereinzelte Slaves NACK geliefert haben. Die Data Hold Time mit 0n wurde von ihm voll ausgereizt. Es kann natürlich auch am Slave gelegen haben - aber mit einem anderen Masterchip gab es nie Probleme. Das sieht zwar bei dem Bild des TO auch so aus, allerdings ist die Auflösung zu ungenau und von einem Logikanalyzer aufgenommen. Da gehen solche Feinheiten verloren.
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.