从传感器采集到的数据Dx,Dy,Dz,整型数据,高字节在前,由于地层函数已经写好,直接把传感器输出的六个字节存放到一个连续的内存空间中。
现在把一个整型数组地址传递给采集函数,但由于430内部的内存对齐问题,使得数据的高字节和低字节颠倒了。故需要进行内存调整。
1 2 3 4 5 6 7 8 9 | IRcvStr(0X3C,0X03,(u8*)XYZ_RoughVal,6); //读取X,Y,Z轴上的值 //解决内存对齐问题,进行内存调整。由于传感器输出的数据高字节先输出,而430内部低字节存放的是int数据的低字节 for (i=0;i<3;i++) { j = i*2; MemTemp = (u8)*((u8*)XYZ_RoughVal+j); *((u8*)XYZ_RoughVal+j) = (u8)*((u8*)XYZ_RoughVal+j+1); *((u8*)XYZ_RoughVal+j+1) = MemTemp; } |