Forum: Mikrocontroller und Digitale Elektronik Arduino UNO und I2C - A4 Problem


von Uwe K. (ukhl)


Angehängte Dateien:

Lesenswert?

Vorgeschichte:
Ich versuchte am Original Arduino UNO R3 gesockelt eine RTC mit DS1307 
anzuschießen.
Mit der Arduino Umgebung geht das eigentlich sehr einfach.
Ich habe die wire.h verwendet. Leider klappte das überhaupt nicht.
So habe ich mir das Oszilloskop zur Hilfe genommen. Auf der Taktleitung 
(A5;PC5) waren nur 3 unregelmäßige Signale. Auf der Datenleitung 
(A4;PC4) viel die Spannung langsam ab !?!. Ist da ein Tiefpass auf der 
PC4 Leitung?

Test:
Ich wollte wissen was mit PIN PC4 (A4) los ist. Die Arduino-Umgebung 
habe ich beiseitegelassen und bin direkt mit AVR Studio und AVRISPMK2 
auf das Board gegangen.
Das Testprogramm sieht so aus:
1
DDRC = 0xFF;
2
3
while(1)
4
{
5
  PORTC = 0xFF;
6
  _delay_us(5);
7
8
  PORTC = 0;
9
  _delay_us(5);
10
}

Da erwarte ich eine Rechteckspannung von ungefähr 100kHz, wie es bei I2C 
nicht unüblich ist.
Auf PC5 ist das auch OK, aber PC4? Auf PC0 bis PC3 ist auch alles ok.
Im Bild ist CH1 der PC4 Pin und CH2 ist PC5.

Hat jemand ähnliche Erfahrung gemacht? Damit bekommt man doch nie ein 
I2C hin, oder?

von John (Gast)


Angehängte Dateien:

Lesenswert?

Uwe K. schrieb:
> Ich versuchte am Original Arduino UNO R3 gesockelt eine RTC mit DS1307
> anzuschießen.

Achtung: RTCs nicht anschießen. Auch nicht, wenn sie an einen UNO 
angeschlossen werden sollen.

Hast Du für das Bild alle externen Anschlüsse vom Arduino getrennt?
Vielleicht ein Kurzschluss zwischen Pin 8 und Pin 9.

von Karl (Gast)


Lesenswert?

Wenn der AVR auf der Datenleitung auf Daten vom Slave wartet, dann ist 
der Port auf Input gesetzt.

von Walter (Gast)


Lesenswert?

hast du einen Pullup auf der Datenleitung?

von Uwe K. (ukhl)


Angehängte Dateien:

Lesenswert?

John schrieb:

> Vielleicht ein Kurzschluss zwischen Pin 8 und Pin 9.

Sch.... JA. Ein Bild sagt mehr als 1000 Worte.
Kurz zwischen den Pins mit einem Schraubendreher gekratzt, und die Welt 
ist in Ordnung (Bild 2).

Sowas kann einem aber echt den Tag versauen. Gerade der Arduino ist 
klasse für "schnell und schmutzig". Vielleicht hätte ich mir ein 
China-Nachbau holen sollen, dann hätte ich mich nicht gewundert. ;-)

von Uwe K. (ukhl)


Lesenswert?

John schrieb:
> Uwe K. schrieb:
>> Ich versuchte am Original Arduino UNO R3 gesockelt eine RTC mit DS1307
>> anzuschießen.
>
> Achtung: RTCs nicht anschießen.

Darf ich jetzt eine RTC anschießen?

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.