Verzweiflung mit dem TWI & ATmega88

OP #3204174
Hallo,
ich versuche nun schon seit Tagen die TWI auf meinem Atmega88 zum
laufen zu bekommen, eigentlich ist das ja auch nicht so schwer aber
irgendwo ist der Wurm bei mir drin.

Das aktuelle Problem ist das nicht einmal ein Start Signal richtig 
gesendet wird, zumindest steht im Status Register des µC nicht TW_START.
Somit geht in meinem Fall immer die Fehler LED an.

Habe auch schon diverse andere TWI Projekte angeschaut wie Fleur...
Kann dort aber keinen Unterschied vom "TWI Start" zu meinem Code 
feststellen.

Zur Hardware:
Sensor ist direkt an den 2 TWI Leitungen angeschlossen und mit 4K7Ohm 
gegen 5V gelegt.

LED & Taster funktionieren einwandfrei, festgestellt durch diverse 
andere Projekte.

Software: Ich nutze das AVR Studio 4.19.

Wäre super wenn da einer mal kurz auf meinen Code schauen könnte.

Gruß,
Bue
Angehängte Dateien:
Gast #3204202
hatte vor kurzem auch das Problem. Mein Code sieht fast identisch aus.
Ich hab damals nur meinen Slave resetten müssen, weil er das Signal 
"nicht aufnehmen konnte".
Emüfängt dein Slave das Signal im Interruptbetrieb?
Gast #3204204
Hallo,

1. Wie ist die Slave Adresse? beachte, dass die Adresse in den 7 
höchsten Bit sitzt, und das Lese/Schreib bit das Bit 0 ist

2. Mit welchem Takt arbeitet der µC...rechne noch mal das TWBR nach...
OP #3204205
Hy,
also Pull Up Widerstände habe ich an beiden Leitungen angelötet.

Hab noch den "Schaltplan" angehängt, vll. hilft der weiter.

Das mit der Stop Condition füge ich noch hinzu und teste es.

Aber daran kanns es ja eigentlich nicht liegen das er gleich nach dem 
Start die LED anmachtt, sprich einen Fehler hat.
Angehängte Dateien:
OP #3204223
Also ich habe jetzt die Stop Condition hinzugefügt und aus 
unerfindlichen Gründen macht er den Start Befehl nun...

Durch auskommentieren habe habe ich nun rausgefunden das er nun
an der Register Adresse senden die LED anmacht.

Die ganzen Adressen habe ich schon mehrmals kontroliert die passen.
OP #3207848
Hallo,
ich habe meine "Fehler" gefunden.

1. Hab ich teilweise die TWINT Flag überprüfung per while vergessen.
2. Hatte der Chip einen Wackelkontakt wegen einer schlechten Lötstelle.

Ja, nun funktioniert alles wie gedacht mit dem TWI.

Vielen Dank an alle :)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 13 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.