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

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.