注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
wuzhpo的个人空间 https://home.eeworld.com.cn/space-uid-119999.html [收藏] [复制] [分享] [RSS]
日志

关于MSP430字节对齐的问题

已有 553 次阅读2015-8-19 14:23

        最近在调试过程中,一直发现结构体中数据错位现象,但是仿真器查看,又都正确..无意中数了数缓存前面的变量,是奇数字节.改称偶数字节后,一切正常..

例如: 奇数字节
unsigned char Flag = 0;
unsigned char U0RxBuf[512+32];
//----------------------------------------
typedef struct
{
   unsigned char   Flag;
   unsigned char   NC_A;
   unsigned short  CRC;
   unsigned short  ADDR;
   unsigned short  Len ;
   unsigned char   Buf[512];
}StrRxDat;
//
StrRxDat *pStrRxDat=(StrRxDat*)&U0RxBuf[0];
//  这样,结构体中的数据 ,CRC,ADDR,Len  中的数据均不正确,有错位.
// -- 偶数字迹
unsigned char FlagA = 0;
unsigned char Flag = 0;
unsigned char U0RxBuf[512+32];
//
//  这样,结构体中的数据 ,CRC,ADDR,Len  中的数据均正确.
//
因为 430为16位的,编程过程中容易忽视这个现象..




本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章