Forum: Mikrocontroller und Digitale Elektronik bmp180, twi, problem mit verständnis und ack


von Martin H. (Gast)


Angehängte Dateien:

Lesenswert?

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.

von spess53 (Gast)


Lesenswert?

Hi

>while((TWSR & 0xF8) != 0x40);

>woher kommt man zu dieser erkenntnis, dass das so sein soll?

Normalerweise aus dem Studium des Datenblatts.

MfG Spess

von TWI (Gast)


Lesenswert?

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

von Martin H. (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.