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
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
Es liegt wohl am JTAG, da PortC allgemein nicht wirklich zu benutzen ist. Allerdings bekomme ich JTAG nicht mit YAAP deaktiviert... Gruß Bastian (Allen ein frohes neues Jahr!)
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.