TWI Interface AT89C51SND1

Dec 14, 2004 5 Replies

Hallo!



Ich habe ein Problem mit der Initialisierung des TWI Interfaces im AT89C51SND1. Ich möchte gerne in einem I2C EEPROM den Zeichensatz eines Grafikdisplays speichern.



Dazu habe ich das TWI Interface mit 47k Widerständen auf 3,3V gezogen und entsprechend mit dem SND1 verdrahtet.



Zuerst möchte ich nur Daten am TWI ausgeben, so dass ich sie mit meinem Oszi sehen kann. Dass der u.g. Quelltext nicht zur Ansteuerung des EEPROM reicht ist mir bekannt. Folgende Initialisierung des Interfaces nutze ich:



SSCON = 0xC0; // 11 00 00 00 Master Transmitter Mode aktivieren SSCON = 0xD0; // 11 10 00 00 Start Condition ausgeben do {} while (SSSTA != 0x08); // Warten, bis Start Condition ausgegeben wurde SSCON &= ~(1


Am Wed, 15 Dec 2004 00:17:47 +0100 schrieb Steffen Burr :

47k für I2C erscheinen mir etwas gar hoch. Irgendwas zw. 330 und 3k3 kann ich mich da dunkel erinnern. Wie sehen denn die steigenden Flanken aus?
Martin

Hallo Martin,

danke für deine Antwort!

Die Flanke sehen gut aus. Das sit im Moment auch nicht mein Problem. Die Widerstände habe ich schnell ausgetauscht. Das Problem liegt in der Software, so dass ich keine Daten ausgeben kann. Ich sehe nur die Startbedingung (und die ist korrekt).

Viele Grüße Steffen

Solltest Du vor der Do-while-Schleife nicht warten, bis das SSI-Bit gesetzt wurde? Sonst ist die Start-Condition nocht nicht ausgegeben und SSSTA natürlich ungleich 08h....

Gruß

Tassilo

µC Assembler-IDE für AVR, 8051, Z80, 8048 => http://www.theeg.de/aside/index.html ================================================================ de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/

Oh je, was hab ich da geschrieben, war wohl zu sehr in Eile. Was ich meinte war natürlich, daß SSSTA wohl erst gültig ist, wenn SSI-Bit gesetzt ist, und wer weiß was da vorher drinsteht...

µC Assembler-IDE für AVR, 8051, Z80, 8048 => http://www.theeg.de/aside/index.html ================================================================ de.sci.electronics FAQ: http://dse-faq.elektronik-kompendium.de/

Hallo Tassilo,

danke für deine Antwort. Ich habe bei den Application Notes von Atmel eine APP für das interruptgesteuerte TWI gefunden. Zumindest das senden klappt jetzt - jetzt werde ich es noch mit dem empfangen versuchen. Wenn das nicht klappt, melde ich mich nochmal!

Danke nochmals! Liebe Grüße Steffen

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required