MSP430内存对齐问题,对数据进行内存调整

从传感器采集到的数据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;
  }
分享到: 更多
版权申明:

本站保留所有原创文章的版权,本站地址:奔跑的博客[http://www.elecbench.com]

原创文章转载时请注明出处,并添加文章所在页面的链接:http://www.elecbench.com/msp430%e5%86%85%e5%ad%98%e5%af%b9%e9%bd%90%e9%97%ae%e9%a2%98%ef%bc%8c%e5%af%b9%e6%95%b0%e6%8d%ae%e8%bf%9b%e8%a1%8c%e5%86%85%e5%ad%98%e8%b0%83%e6%95%b4/

本站所有 2010年3月4日 以后发表、未标明为“转载”的文章均是本站原创。

发表评论


(设置自己的个性头像)

*

申请属于你的免费顶级域名