Hallo , ich versuche mit einem Atmega16 über TWI meine RTC anzusprechen . Doch der uC bleibt jedesmal in der Schleife bei twi_start(void) hängen . Vllt könnt ihr mir helfen ...
Quengel nicht! das senkt die Bereitschaft jedes Hilfswilligen, sich dein Codegewurschtel anzuschauen...
void twi_start(void) { TWCR = (1<<TWINT)|(1<<TWSTA) | (1<<TWEN); while(!(TWCR & (1<<TWINT))) { } } Das fehlt noch !
Nee hatte die Negation vergessen (!) So müsste es funktonieren ;D Doch komm ich nicht aus der Schleife raus
Die Hardware ist richtig ,da die Uhr hier bereits lief. Was meinst du mit richtig geshiftet? Ich schicke genau die Adresse die auch im Datenblatt steht (DS1320)
Max schrieb: > Ich schicke genau die Adresse die auch im Datenblatt steht (DS1320) oder DS1302? Die hat nicht so richtig I2C sondern 3-Wire (auch kein SPI)
Der Code ist ok, nur wenn du keine Zeit gesetzt hast antwortet der Slave nicht.
Liegt es echt daran , das die Zeit noch nicht gespeichert ist ? Und wie kann ich das überprüfen?
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.