Hi Daniel,
Daniel R. schrieb:
> Das Problem ist, dass der Sensor bei einem High-Pegel im I²C Modus
> (Slave) ist.
Stimmt:
1 | This OR gate will hold the SDA line high when CS is high to prevent SPI bus traffic at the ADXL345 from appearing as an I2C start command.
|
Ich verstehe aber nicht, wie so ein bus traffic auftreten kann, wenn
der ADXL345 das einzige Gerät ist, mit dem ich kommuniziere?
Noch etwas:
Der Fehler in meinem Hardware-SPI Programm war wohl, dass ich die
SPI-Verbindung zuerst eingeschalten habe, bevor überhaupt Sachen die
CPOL oder ähnliches gesetzt wurde.
Jetzt klappt es zumindest, dass ich die DEVID auslesen kann, der
zurückgegebenen Wert 229 stimmt auch mit der Angabe im Datenblatt
überein. Allerdings taucht nun wieder der gleiche Fehler auf, wie bei
meinem 1. Hardware-SPI Versuch ohne die STM-Lib: Alle Achsen (x,y,z)
haben den gleichen Wert (bzw. zumindest liest mein Programm diesen Wert
aus) im 16g full-res Modus: 2313.
Kann das an dem von dir beschriebenen Problem mit dem High-Pegel liegen?
Aber warum funktioniert dann das Auslesen der DEVID?
Grüße