16 #include "simpletools.h" 20 int MMA7455_pinDat, MMA7455_pinClk, MMA7455_pinEn;
23 void MMA7455_getxyz10(
signed short *x,
signed short *y,
signed short *z)
26 unsigned char byteLow, byteHigh;
27 int regAddr[6] = {MMA7455_XOUTL, MMA7455_XOUTH, MMA7455_YOUTL, MMA7455_YOUTH, MMA7455_ZOUTL, MMA7455_ZOUTH};
28 signed short *val[3] = {x, y, z};
29 for(
int i = 0; i < 6; i += 2)
31 byteLow = MMA7455_readByte(regAddr[i]);
32 byteHigh = MMA7455_readByte(regAddr[i+1]);
33 if((1 & (byteHigh >> 1))) byteHigh |= 0b11111100;
34 *val[i/2] = ((
signed short) byteHigh << 8) | byteLow;