SPI Register auslesen Raspberry Pi

OP Persönliche Seite #5963214
Lesenswert?
• ▲
▼
Hi

Ich spiele gerade etwas mit meinem neuen ADAS1000* EKG IC und
begebe mich mit SPI in für mich unbekanntes Terrain.

(* 
https://www.analog.com/media/en/technical-documentation/data-sheets/ADAS1000_1000-1_1000-2.pdf 
)


Den IC habe ich (per SPI) an meinen Raspberry Pi 2 verkabelt.
Ziel soll für mich erst mal sein das ich korrekt Register schreiben und
lesen kann.

Der ADAS1000 hat einen freien GPIO(3) Pin den ich per Register (GPIOCTL) 
setzten kann.
Also habe ich den Pin mit dem Register als OUTPUT und auf HIGH gesetzt.

Ich schreibe das ganze mit C++ und der bcm2835 Library.
Nachdem ich den 32bit Register in handliche 8bit Pakete zerlegt habe
und in ein char Array gepackt habe da ja der RPi nur 8bit auf einmal 
übermitteln
kann, sende ich das ganze Array mit
1
bcm2835_spi_transfern(spiOut,sizeof(spiOut));

an den IC. Das funktionierte auch auf Anhieb und ich konnte den Pin
mit dem Multimeter als HIGH messen. Soweit so gut.

Wie lese ich nun aber den Register wieder ein um ihn mit dem ersten
Schreibprozess vergleichen zu können?

Ich würde nun einfach nochmal den Register senden, nur halt diesmal mit 
dem READ Bit
gesetzt und Datenbits alle mit "0".

Jetzt kapier ich aber noch nicht so richtig wie ich die Antwort zurück 
bekomme.
Nachdem ich dem IC mitgeteilt habe das ich den Register lesen will 
passiert ja nix weiter,
es kommen keine Daten über MISO rein. Ist das richtig das der IC im 
Grunde nur wartet bis SCLK wieder aktiv wird und er dann Bit für Bit 
ausgibt? Muss ich dann also nochmal 32 Takte an den IC senden damit er 
mir den Register zurücksendet?
Was sende ich am besten um das zu machen? Einfach 32 Nullen oder müssen 
das irgendwelche Daten sein?

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.