Forum: Mikrocontroller und Digitale Elektronik I2C beim mega8535


von Markus L. (lucky79)


Angehängte Dateien:

Lesenswert?

Hallo!

Ich hab ein Problem bei der Kommunikation über den TWI-Port des
Mega8535. Also am Port ist eine RTC/Kalender (PFC8583) und ein
Temperatursensor (LD1775R).

Ich hab schon ein "Thermometer" auf einem mega8 in Assembler
realisiert und das hat mit Hardware TWI einwandfrei funktioniert.

Nun hab ich mir den WinAVR downgeloadet und mach grad meine ersten
Versuche in C. Das mit den Schleifen, LCD,... funktioniert ja schon
alles, nur dieser TWI macht mir zu schaffen!

Ich hab mal die Sourcen angehängt. Vielleicht kann mir ja jemand von
Euch einen Tipp geben.

Aja, die Hardware: ATmega8535 PDIP, läuft auf 16MHz mit externem
TTL-Oszillator. (Habs auch schon mit 4 und 8 MHz versucht), der Bus ist
mit externen 4k7 PullUps versehen (hab auch scon 10k versucht). Da
dieser Bus in der selben Konfiguration am mega8 schon mal funktioniert
hat, glaub ich nicht an ein Hardwareproblem.

Vielen Dank im Voraus!

Markus

von Bernhard S. (bernhard)


Lesenswert?

Hallo Markus,

um ein Hardware-Problem auszuschließen, lass Dir doch durch einfache
LEDs die Pegel von SDA und SCL anzeigen.

Flimmern die LEDs, wenn Daten gesendet(empfangen) werden sollen?


Bei Software-Problemen kannst Du Dir problemlos einen Slave bauen, um
genau zu sehen, was Dein Master gerade versucht:

http://www.mikrocontroller.net/forum/read-4-246060.html


Bernhard

von Markus L. (lucky79)


Lesenswert?

Hi!

Hab schon LEDs dran, jedoch über nen Transistor geschalten.
Die flackern so, wie's sein sollte, bau mir gerade einen LogikAnalyzer
für den LPT, damit ich mir mal die genauen Bitmuster auf dem Bus
anschaun kann...

Das mit dem Slave hab ich auch schon probiert, da kommt nur Mist raus!!
Manchmal ERROR, manchmal irgendwelche Bitmuster, die ich niemals auf den
Bus geschickt hab.

gruß

Markus

von Bernhard S. (bernhard)


Lesenswert?

>Das mit dem Slave hab ich auch schon probiert, da kommt nur Mist
>raus!!

Vielleicht wäre es sinnvoller, diesen Mist mal zu untersuchen?

Denn wenn dieser Hardware-Slave ein ERROR meldet, hat der Master etwas
nicht richtig gesendet, denn einfacher kann ein SLAVE nicht
programmiert werden, oder?

Bernhard

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.