16 oder 24 bit mit SPI

Gast #2369142
Lesenswert?

Hallo Experten,

ich brauche bitte eure Hilfe.

Zuerst meine Angaben:
Master Pic18f4550   Sprache C Compiler CCS

Slave MS5611   Drucksenor mit 16 bzw 24 bit Worten
http://www.meas-spec.com/product/t_product.aspx?id=8501


Kann man beim SPI im C Code einstellen das er statt 8 bits 16 bzw 24 bit 
empfangt vom slave?
laut CCs Hilfer :
#use spi(DI=PIN_B1, DO=PIN_B0, CLK=PIN_B2, ENABLE=PIN_B4, BITS=24)

BITS=n
 Max number of bits in a transfer. (default=32)

warum 32? normal sind doch 8 bit oder?

also ich schreibe:

spi_write(0x48); //Laut Datenblatt wenn ich diesen Wert will
delay_ms(10); //laut Datenblatt
spi_write(0x00); // Conversation starten


und dann

D1=spi_read();

ist D1 jetzt genau das 24 bit lange Wort?

oder muss ich das Stückeln und immer nur 8 bit empfangen und dann 
zusammensetzen?

danke für hilfe
lg
Angehängte Dateien:
Gast #2369145
Lesenswert?

>Kann man beim SPI im C Code einstellen das er statt 8 bits 16 bzw 24 bit
>empfangt vom slave?
>laut CCs Hilfer :


Was ist CCs ?

Einstellen kann man das nicht, pro Schreibbefehl ins SPDR-REgister 
werden acht Bit herausgeschoben. Wenn du jetzt 16/24bits haben willst, 
musst du halt dreimal hintereinander ins SPDR schreiben, bevor du dem 
Slave per Slave_Select-Leitung ein "fertig" mitteilst.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren