Guten Tag ich versuche gerade meinen bmp180 am atmega32 ans laufen zu bekommen. Hatte mir einen fertigen c-code geladen um ihn direkt mal auszuprobieren. Der hat leider nicht funktioniert, da er irgendein problem mit dem ack bei i2c hat. Also dachte ich mir nagut machst du es eben direkt von anfang an. Also habe ich mir ein tutorial gesucht nicht das von dieser seite, da ich da absolut nicht durchgeblickt habe! Und bin bis zu folgendem Schritt gekommen siehe Anhang. bei twi_read_address gibt es wieder irgendein problem mit dem ack in der while schleife bleibt er drin. uart ausgabe: Bei twi_start ist twsr laut ausgabe 0x08 ack received dann TWDR byte received TWSR: 0x48 und ack kommt nicht! mein anschluss ist PC0 und PC1 an SCL und SCA am bmp180. pullups 4,7k an jeder leitung. Kann mir wer sagen was da falsch läuft? oder was ich vergesse? weil wenn ich das oszilloskop anschließe zeigt es auch nur auf SDA dauer high an und auf scl dauer low also ich sehe sich nichts ändern. bzw was bedeutet das? while((TWSR & 0xF8) != 0x40); woher kommt man zu dieser erkenntnis, dass das so sein soll? Bzw kennt wer ein gutes tutorial wo das alles gut und leicht erklärt wird? Alles was ich bisher durchforstet habe bringt mich irgendwie der Erkenntnis nicht näher! Vielen lieben Dank Martin H.
Hi >while((TWSR & 0xF8) != 0x40); >woher kommt man zu dieser erkenntnis, dass das so sein soll? Normalerweise aus dem Studium des Datenblatts. MfG Spess
Hi, dann solltest Du mal prüfen, warum keine Clock erzeugt wird. Ohne Clock geht bei TWI nix und es kommt auch kein ACK. Wir denn das Start Signal wenigstens gesendet? Gruß, TWI
TWI_start wird ohne probleme abgearbeitet. nur sehe nichts auf dem oszilloskop!
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.