Gast
#745344
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
