Hallo zusammen, seit ein paar Tagen versuche ich einen Beschleunigungssensor über den I2C-Bus anzusteuern. Es handelt sich um den LIS302DL und einen Mega32, der mit 16Mhz getaktet ist. Ich habe vor zuerst im Mastertransmit Mode dem Sensor bescheid zusagen welches Register ich auslesen will. Anschließend wird ein Start Repeat gesendet. Ab hier soll der Master receive Mode verwendet werden um das Byte aus dem Register auszulesen. Die ERROR Funktion wird auch nie aufgerufen. Das heißt alles scheint zu funktionieren. Aber wenn ich am Ende das TWDR Register auslesen will, steht da immer noch der vorherige Wert (0x39) drin, den ich im vorherigen Schritt als SLA+R gesendet hab. Die Datenblätter findet ihr hier: LIS302DL: http://www.st.com/stonline/products/literature/ds/12726.pdf ATMEGA32: http://www.atmel.com/dyn/resources/prod_documents/doc2503.pdf Meine Main.c sowie die Beschaltung des LIS habe ich beigefügt. Vielleicht fällt euch ja der Fehler auf. Ich würd mir freuen da ich jetzt schon länger nicht mehr vorran gekommen bin :( viele Dank Florian
Jehaaa!!!! dieser Thread kann auch schon wieder geschlossen werden ;) nun läuft es. Ich war zu gierig und hab zufrüh das TWDR Register abgefragt. viele Grüße Florian
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.