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.
I²C ist ein synchroner Bus. Der Master gibt den Übertragungstakt aus. Was willst Du da mit einer "externen Taktquelle"?
Du brauchst keinen Quarz oder dergl. wenn du auf das "Quarzproblem" beim USART anspielst.
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...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.