Forum: Mikrocontroller und Digitale Elektronik 16 oder 24 bit mit SPI


von SPI-ALEX (Gast)


Angehängte Dateien:

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

von Matthias L. (Gast)


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.

von Rene S. (Firma: BfEHS) (rschube)


Lesenswert?

SPI-ALEX schrieb:

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

Ja, genau so mache ich das auch und so läuft es ohne Schwierigkeiten.
Einfach zusammensetzten und weiter verarbeiten.

mfg Rene

von SPI-ALEX (Gast)


Lesenswert?

ok danke :D

@lippy

CCS ist mein Compiler

von ... (Gast)


Lesenswert?

SPI-ALEX schrieb:
> CCS ist mein Compiler
Der Name des Hersteller: Custom Computer Services, Inc.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.