TWI Library - u.A. Probleme mit STOP

OP #4387322
Lesenswert?

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.
Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #4387359
Lesenswert?

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...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren