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?