Halllo Zusammen Ich hab ein Projekt am laufen, indem ich eine I2C schnittstelle programmieren muss, da ich keine als hardware zur verfügung habe. Mit der Schnittstelle soll ein RTC (DS1307) angesteuert werden. Kann mir jemand helfen??? Hat jemand I2C-Subroutines in assembler?? greez pirmin
nicht ganz für deine CPU (ist für nen nintendo handheld), aber immerhin in assembler: http://lupin.shizzle.it/eepromsample.zip Diese seite wird dir weiter helfen deine funktionen zu implementieren: http://www.esacademy.com/faq/i2c/index.htm Die habe ich als grundlage dafür genommen.
subroutines haben wir schon, jedoch können wir die daten nicht richtig empfangen. im anhang die recv subroutine, hast du eine Idee, wieso dies nicht funktioniert???
Den SQW ausgang können wir ansteuern. wir bekommen ein schönes 1Hz Signasl. Das beschreiben wird daher sehr wahrscheindlich funktionieren.
ich kenne den Prozessor nicht, ist das korrekt, dass Bit setzen setb aber löschen einfach clr heißt, nicht clrb oder so ähnlich? Mit clr würde ein AVR alle 8 Bit des Ports auf einmal zu Null setzen.
Mir ist es gelungen, dass der RTC die Sekunden zählt. Diese Signale habe ich mit dem KO gemessen, jedoch hat ein Bit nur eine spannung von 0.4 Volt. Die Zählzustände sind klar ersichtlich. Für den PULL-UP Widerstand habe ich 4.7kOhms verwendet. Was könnte der Fehler sein???
Schaltung sieht gut aus (bis auf die Batterie, muss da nicht irgendwie noch ne Diode ran ? )
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.