TWI: Bekomme TWINT nicht gesetzt

Gast #179029
Hallo!

Ich bin gerade dabei mir einen I2C Bus aufzubauen, scheitere aber schon
sehr früh, da ich

TWCR = (1<<TWINT)|(1<<TWSTA)|(1<<TWEN);
while (!(TWCR & (1<<TWINT)));

schon nach diesen 2 Zeilen in eine Endlosschleife laufe.
Irgendwie kann er das TWINT-Bit nicht setzen.

µC läuft mit 16Mhz, TWBR = 0x10

Habe zuerst an einen Hardwarefehler gedacht, nach Überprüfung bin ich
der Meinung das da eigentlich alles laufen müsste.
In dem Bus gibt es nur einen Master (µC) und 2 Slaves: 1xPCF8591 +
1xPCF8574.

Wenn ich garkeinen Bus anschließe, so müsste der µC doch zumindest
fähig sein TWINT zu setzen, dies ist auch nicht der Fall...

Habe mit dem I2C-Bus noch keine Erfahrung, würde mich sehr freuen, wenn
jemand mir nen guten Ratschlag gibt...

Mit freundlichen Grüßen
Bastian
Gast
Welche Spannung haben die Signalleitungen wenn nur der uP am Bus hängt?
Ich vermute Low-Pegel, dann kann der uP die Startkondition nicht auf
den Bus bringen und damit gibts auch keinen Int. -> Pull-Ups auf die
Leitungen sollten dann die Lösung sein.

Grüße leo

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 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.