Hallo, wir haben hier eine Schaltung aufgebaut: Der Master ist ein ATmega128 Slaves: ein Ultraschallmodul und ein Kompass (bei I²C) Bustakt: 100kHz Zwischen den beiden Leitungen und +5V befindet sich keine Verbindung. Das Problem ist jetzt, dass das ganze schon einmal funktioniert hat und plötzlich geht's nichtmehr... Kann das evtl. daran liegen, dass keine Widerstände da sind (hab gerad gesehen, dass in der Beschreibung zum Atmel auch gesagt wird, dass man die benötigt) Allerding bin ich der Meinung irgendwo gelesen zu haben, dass bis zu 4 Geräte ohne diese Widerstände funktionieren... Schonmal im Vorraus vielen Dank, Thomas
Zumindest an der SDA-Leitung sollte ein Pullup sein. Bei SCL ist's nicht so wild, da immer nur Output. Probier's mal mit 2k2 an SDA und dann sollte es laufen. Gruss Eddi
Hi I2C braucht immer Pull-Ups da mit Open-Collector-Treibern gearbeitet wird. Und SCL ist, ganau wie SDA, bidirektional (siehe Clock-Stretching) Matthias
Hi, im Atmel-Datenblatt steht auch, das man die internen Pull-Ups anschalten kann, wenn der Mega der einzige Master am Bus ist. Gruß Tobias
Hi wobei die etwas hochohmig sind. Bei 100kHz und nicht allzuvielen Busteilnehmern sollte das aber noch gehen. Matthias
Danke erstmal für die Antworten. Also die internen Pullups waren aktiviert. Jetzt haben wir es probiert und haben 2,2KOhm-Widerstände als externe Pullups benutzt. (allerdings die internen Pullups nicht deaktiviert...) Das ganze hat ja wie gesagt auch schonmal alles geklappt... Kann es sein, dass nur der I²C-Bus den Abgang macht und der Rest des Controllers normal weiterfunktioniert? Oder hat vllt. noch jemand eine andere Idee, woran das liegen könnte? Danke, Thomas
>Kann es sein, dass nur der I²C-Bus den Abgang macht und der Rest des >Controllers normal weiterfunktioniert? Man kann durchaus einzelne Pins oder Ports schmoren, ohne den ganzen Chip ausser Gefecht zu sethen.
Yo,is aber auch leicht rauszufinden. I2C Bus abklemmen,LED sammt Vorwiderstand dranklemmen,Testproggier laden und sehen was passiert ;)
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.