SPI Basics mit 3-achs-AccelerometerADXL343

Gast #4082152
Lesenswert?
• ▲
▼
Hallo,

ich versuche gerade zu verstehen, warum meine SPI Kommunikation mit 
einem ADXL343 Accelerometer 
(http://www.analog.com/media/en/technical-documentation/data-sheets/ADXL343.pdf 
) nicht funktioniert. Ich bin allerdings auch noch nicht sehr SPI 
erfahren, deshalb hoffe ich auf ein paar Tips von euch:

Im Anhang seht ihr die Beschaltung des ADXL343 und die signale, die ich 
mit dem LogicSniffer abfange, wenn ich mit meinem µC über SPI unter 
Verwendung des Atmel Software Frameworks
1
 
2

3
#define READSINGLE    0x80
4
#define READMULTI    0xC0
5
#define WRITESINGLE    0x00
6
#define WRITEMULTI    0x40
7

8
#define DEVID      0x00
9
#define  DATA_FORMAT    0x31
10

11
while(1){
12
      
13
      uint8_t read =0xFF;
14
      
15
      uint8_t data1 []={(WRITESINGLE | DATA_FORMAT), 0x00};
16
      uint8_t data2 []={(READSINGLE | DEVID), 0x00};
17
      
18
      spi_select_device(SPI, &ADXL343);
19
      spi_write_packet(SPI, &data1, 2);
20
      //spi_deselect_device(SPI, &ADXL343);
21
      delay_us(50);
22
      
23
      //spi_select_device(SPI, &ADXL343);
24
      spi_write_packet(SPI, &data2, 2);
25
      spi_deselect_device(SPI, &ADXL343);
26
      delay_us(50);
27
      
28
        
29
      delay_ms(1);
30
      
31
    }

sende.

Zur Erklärung: Ich möchte hier das DATA_FORMAT Register resetten (auf 
0x00 setzen), damit ich sicher im 4-wire SPI modus des ADXL bin. Danach 
möchte ich die DEVID auslesen, die nach Datenblatt 0xE5 sein sollte.

Was ich mit dem Open Bench Logic analyzer aber sehe, ist, dass alle MOSI 
daten über MISO wieder rausgeschleift werden. Kann mir jemand sagen was 
ich falsch mache?

Zum Sniffer: Leitung 4 im Bild ist der direkte SDI pin des ADXL, d.h. 
nach dem Logik-Gatter. Die Daten kommen also an.
Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.