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 | }
|