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???
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?????
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.
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!?
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
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.
Ok ich sehe grade die Platine hat schon Pullups werkseitig. Hast du denn schon die SMD Brücken auf AVR gelötet?
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
Pia17 schrieb: > Muss ich diese nach dem Kauf erstmalig initialisieren??? Nein, sondern erst nach dem Spannung anlegen. D.h. Uhrzeit stellen und starten.
Soweit funktoniert es jetzt ;) Nur woher weiss ich ab welcher Adresse ich den RAM auslese. Muss ich jedesmal den ganzen RAM auslesen??
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.
nach twi_send(0) wird der AdressZeiger des RTC-RAM auf 0 gesetzt. Ist das so richtig???
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.