Forum: Mikrocontroller und Digitale Elektronik ATMEGA8 --> I2C


von Sven Scholz (Gast)


Lesenswert?

Hallo,

benötige ich für die korrekte Funktion des I2C-Busses eine externe 
Taktquelle oder funktioniert die Kommunikation hierüber auch lediglich 
mit dem internen Takt (4MHz) des ATMEGA8?

Vielen DANK.

von Johannes M. (johnny-m)


Lesenswert?

I²C ist ein synchroner Bus. Der Master gibt den Übertragungstakt aus. 
Was willst Du da mit einer "externen Taktquelle"?

von STK500-Besitzer (Gast)


Lesenswert?

Du brauchst keinen Quarz oder dergl. wenn du auf das "Quarzproblem" beim 
USART anspielst.

von Carbolo C. (carbolo)


Lesenswert?

schau mal hier nach am besten:

http://www.mikrocontroller.net/articles/I2C

von Sven Scholz (Gast)


Lesenswert?

Gut, also ich betreibe meinen ATMEGA8 jetzt mit 8MHz internen Takt.
Ich gehe jetzt mal davon aus, dass das BASCOM AVR jetzt für mich regelt.

Ich habe
Config Scl = Portc.5
Config Sda = Portc.4

definiert.

Was mir jetzt auffällt, dass Portd.1 die ganze Zeit auf high ist. Meine 
angeschlossene LED leuchtet die ganze Zeit. Muss ich unter BASCOM noch 
irgendwie sagen, dass ich UART nicht verwenden möchte?

In meiner Hauptroutine steht z.B.

Toggle Portd.1
Wait 1

doch die LED brennt und brennt und brennt...

von Carbolo C. (carbolo)


Lesenswert?

BASCOM?????   ---- ich bin weg :-)

von Gast (Gast)


Lesenswert?

Wenn die LED wirklich brennt, dann würd ich mal über den Vorwiderstand 
nachdenken!!

von Sven Scholz (Gast)


Lesenswert?

Gut habe den Fehler. In einem Unterprogramm stand eine Print-Anweisung. 
BASCOM schaltet dann irgendwie TXD und RXD scharf, sodass PinD.1 auf 
high geht.

Da muss man erst einmal draufkommen.

Habe an meinem I2C eine RTC (PCF8583) diese kann ich auslesen, aber 
nicht auf eine gewünschte Uhrzeit bringen.

Ein einfacher settime()-Aufruf führt immer zum Ergebnis, dass die Uhr 
bzw. dwer Baustein von 00:00 Uhr losläuft. Mhh, eigenartig.
Die Schaltung muss richtig sein, denn auslesen geht ja.

Wenn noch jemand eine Idee für mich hat...

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.