Hallo zusammen, Vorneweg: Ich habe das Forum durchsucht aber bin leider nicht fündig geworden. Ich habe die letzten Tage damit zugebracht mich in TWI ein zu lesen und habe eine eigene TWI-Library in Assembler geschrieben. Ich habe das gemacht weil ich dieses Thema gerne umfänglich verstehen und nicht einfach irgendeine Library nutzen möchte. Ich habe allerdings ein paar Fragen: 1. Ist es möglich, dass UART und TWI sich bei der Kommunikation in die Quere kommen? Ich hatte vor, Werte von einem Gyro per TWI aus zu lesen und mittels UART an den PC zu senden, jedoch sendet mein UART mir nur Müll, wobei ich den Code 1:1 aus dem AVR-Tutorial dieser Seite übernommen hat, und er für sich alleine auch funktioniert ("test" senden klappt wunderbar, sobald ich den Code jedoch ins Mainprogramm zum TWI stecke, empfange ich immer nur 0x1C) 2. Ist dieser modulare Aufbau, so wie ich es realisiert habe, sinnvoll/richtig? Es war mir wichtig, den Code so zu gliedern, dass ich damit umfassend arbeiten kann (daher zb. ACK und NACK als einzelne Unterprogramme) 3. In meinem Mainprogramm funktioniert die Übertragung momentan so, dass ich in der Initialisierung den TWI-START schicke und dann im loop REPEAT-START schicke, ein Register anfordere (Write), dann REPEAT-START schicke, dann das Register auslese (READ), das dann per UART ausgebe und dann wieder zu loop springe. Es klappt jedoch nicht(!) wenn ich am Ende des Loops einen STOP-Befehl sende und zu Beginn wieder ein START. (Ich gehe also davon aus, dass irgendwas mit dem STOP-Befehl nicht stimmt) Kann mir da Jemand weiterhelfen? Im Anhang die Library, gerne zur freien Verfügung, falls denn alles stimmt. Danke im Vorraus Peter *Edit:* Ich muss mich selber korrigieren. Der UART funktioniert wahrscheinlich, die 0x1C ist die Adresse des Groskopes. Und anstatt den Wert des Registers aus zu lesen, hat er eben diesen Wert ständig gesendet. Dafür stehe ich nun vor dem Problem, dass das Auslesen der TWI-Daten wohl doch nicht funktioniert.
:
Bearbeitet durch User
Peter S. schrieb: > Im Anhang die Library Dort reicht es dann auch. Du brauchst sie nicht noch zusätzlich in den Post kopieren... > 1. Ist es möglich, dass UART und TWI sich bei der Kommunikation in die > Quere kommen? Ja, kann sein. > 3. In meinem Mainprogramm funktioniert die Übertragung momentan so Lass doch einfach mal sehen, der Fehler liegt mit hoher Wahrscheinlichkeit ausserhalb des geposteten Programms...
Ok hier ist das Hauptprogramm. Die Library hab ich nochmal dran gehängt, weil Ich eben noch was ergänzt habe.
Ok Das Problem hat sich erledigt, kann geschlossen werden. Danke trotzdem an jeden der es sich angeschaut hat. Hier noch die fertige Library: http://pastebin.com/Ne64UbQB
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.