79,20 → 79,21 |
static char tmp; |
int wert; |
|
if (MM3.STATE == MM3_DRDY) // 1. Byte ist da, zwischenspeichern |
switch (MM3.STATE) |
{ |
case MM3_DRDY: // 1. Byte ist da, zwischenspeichern |
tmp = SPDR; |
SPDR = 0x00; // Übertragung von 2. Byte auslösen |
SPDR = 0x00; // Übertragung von 2. Byte auslösen |
MM3.STATE = MM3_BYTE2; |
return; |
} |
|
else //if (MM3.STATE == MM3_BYTE2) // 2. Byte der entsprechenden Achse ist da |
{ |
wert = SPDR | tmp << 8; // 1. Byte an MSB-Stelle rücken und 2. Byte dranpappen |
|
case MM3_BYTE2: // 2. Byte der entsprechenden Achse ist da |
wert = tmp; |
wert <<= 8; // 1. Byte an MSB-Stelle rücken |
wert |= SPDR; // 2. Byte dranpappen |
|
if(abs(wert) < Max_Axis_Value) // Spikes filtern. Zuweisung nur, wenn Max-Wert nicht überschritten |
switch(MM3.AXIS) |
switch (MM3.AXIS) |
{ |
case MM3_X: |
MM3.x_axis = wert; |
106,7 → 107,8 |
MM3.z_axis = wert; |
MM3.AXIS = MM3_X; |
} |
MM3.STATE = MM3_RESET; |
|
MM3.STATE = MM3_RESET; |
} |
} |
|