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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.