Forum: Compiler & IDEs Hilfe bei DS1307


von Pia17 (Gast)


Lesenswert?

hey...

ich will zur Übung eine Uhr programmieren (RTC ,DS1307)
Muss ich diese nach dem Kauf erstmalig initialisieren???

Habe schon versucht das TWI Start-Signal zu senden ,leider bleit er in 
der Warte-schleife hängen und bekommt kein ACK Signal????

Kann mir jemand helfen und mir sagen wie ich die Uhr zum laufen 
bringe???

von Pia17 (Gast)


Lesenswert?

Noch eine Frage :

Wenn ich die Uhr draufstecke dann leuchten PC3 und PC4.
Ich habe aber einen Atmega32 ,dort steht im Datenblatt dass
SCL=PC0
und SDA = PC1 ist .
Wieso müssten diese dann nicht leuchten?????

von Karl H. (kbuchegg)


Lesenswert?

Mega32 und Port C?

Hast du das JTAG  abgeschaltet? Das liegt am Port C und übernimmt die 
Kontrolle über einige Pins. Abschalten, dann kannst du die Pins für dich 
benutzen.

von Klaus D. (kolisson)


Lesenswert?

.. und welche programmiersprache bitte ?

k.

von Pia17 (Gast)


Lesenswert?

Diese Uhr hab ich:
http://www.mikroe.com/add-on-boards/rtc/rtc2/

Schreiben will ich das Programm in C, hab aber nur in der Uni 
programmiert.

Atmega32

Wenn ich die Uhr an Portc stecke dann leutet PC3 und PC4

JTAG ist ausgeschaltet ,hab ich mir sagen lassen!?

von Pia17 (Gast)


Lesenswert?

Oder muss ich bei dem RTC den Widerstand auf AVR löten???

Kann mir das bitte jemand sagen :D

von Klaus D. (kolisson)


Lesenswert?

Pia17 schrieb:
> hab aber nur in der Uni
> programmiert.

das klingt aber irgendwie negativ wenn du es so ausdrückst.
War es so dermassen fruchtlos ?

Pia17 schrieb:
> Wenn ich die Uhr an Portc stecke dann leutet PC3 und PC4

das sagt mir garnix. Wenn ich bei meinem Mega 32 die Ports leuchten 
sehe,
habe ich wohl versäumt den Strom abzuschalten und einen Fehler 
übersehen.

Pia17 schrieb:
> JTAG ist ausgeschaltet ,hab ich mir sagen lassen!?

Ich hab mir mal sagen lassen, das in Deutschland die Kinder vom Storch 
gebracht werden.

Ich hoffe du verstehst die Einwände.

Gruss Klaus

von DrTight (Gast)


Lesenswert?

Wieviel Erfahrung hast du denn bereits mit TWI gesammelt? Hast du die 
Pullups von 4,7k gegen Vdd angeschlossen?

Zeig doch mal den Aufbau und den Quellcode, dann kann man dir auch 
besser helfen.

von DrTight (Gast)


Lesenswert?

Ok ich sehe grade die Platine hat schon Pullups werkseitig. Hast du denn 
schon die SMD Brücken auf AVR gelötet?

von Karl H. (kbuchegg)


Lesenswert?

Pia17 schrieb:

> JTAG ist ausgeschaltet ,hab ich mir sagen lassen!?

Du hast es dir 'sagen lassen'?

Überprüfe es!
Kann ja sein, dass es wirklich abgeschaltet ist. Aber ein 'ich habs mir 
sagen lassen' kann man nicht als Ausgangspunkt zur Problemsuche 
akzeptieren, zumal es trivial zu kontrollieren ist. Fuses auslesen und 
nachsehen.

: Bearbeitet durch User
von Peter D. (peda)


Lesenswert?

Pia17 schrieb:
> Muss ich diese nach dem Kauf erstmalig initialisieren???

Nein, sondern erst nach dem Spannung anlegen.
D.h. Uhrzeit stellen und starten.

von Pia17 (Gast)


Lesenswert?

Soweit funktoniert es jetzt ;)

Nur woher weiss ich ab welcher Adresse ich den RAM auslese. Muss ich 
jedesmal den ganzen RAM auslesen??

von Peter D. (peda)


Lesenswert?

Pia17 schrieb:
> woher weiss ich ab welcher Adresse ich den RAM auslese.

Das ist im Datenblatt recht verschwurbelt erklärt:

1. Slave Receiver Mode (Write Mode):
...
After the DS1307 acknowledges the slave address + write bit, the master 
transmits a word address to the DS1307. This sets the register pointer 
on the DS1307, with the DS1307 acknowledging the transfer. The master 
can then transmit zero or more bytes of data with the DS1307 
acknowledging each byte received.

2. Slave Transmitter Mode (Read Mode):
...
The DS1307 then begins to transmit data starting with the register 
address pointed to by the register pointer.

D.h. Du schreibst zuerst nur das RAM-Adreßbyte und liest dann.

von Pia17 (Gast)


Angehängte Dateien:

Lesenswert?

Also so???

von Pia17 (Gast)


Lesenswert?

nach twi_send(0) wird der AdressZeiger des RTC-RAM auf 0 gesetzt.
Ist das so richtig???

von Peter D. (peda)


Lesenswert?

Keine Ahnung, ich kenne die Programmiersprache TXT nicht.
Ich kann nur C.

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.