SPI 11Bit an 8Bit (C8051) c code

OP (Firma: Leica-Geosystems) #1912271
Lesenswert?

Mein Problem ist, dass ich von einem Sensor einen Wert im WORD Format, 
der 11 Bit gross ist erhalte. Mein uP kann jedoch nur 8 Bit entfangen.

Hat jemand eine Idee wie ich dass umgehen kann?
uP ist ein C8051F020
Sensor ist ein SCA-61TFA1H1G

Ich bin auf dem gebiet der Mirkokontroller, nicht so bewandert, und mit 
SPI kenn ich mich gar nicht aus. Ist dieser Code funktionstüchtig? (mit 
ausnahme des obrigen Problems)

initalisierung:
1
void SPI_Init()
2
{
3
  SPI0CN    = 0x03;   //Master Mode
4
  SPI0CKR   = 0xC7;   //clk=5kHz
5
  SPI0CFG   =  0x03;  //8Bit load
6

7
}

Code:
1
   bit SPIF= 0;  
2
   unsigned int RDAX=0x10;
3
   unsigned int wert;
4
   while(1)               
5
   {
6
   SPI0DAT=RDAX;       
7
   while(SPIF==1);
8
   SPIF = 0;    
9
   SPI0DAT=0x00;               
10
   while(SPIF==1);        
11
   SPIF = 0;            
12
   wert = SPI0DAT;          
13
   }

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