本帖最后由 justdomyself 于 2014-5-26 19:52 编辑
#define MEM_W(x) ((WORD) *((WORD *)(x)) )
typedef struct
{
WORD ID; // Message Identifier
BYTE LEN; // Data length (0-8)
BYTE RTR;
BYTE BUF[8]; // Data buffer
} CAN_MSG;
CAN_MSG msg,*pmsg;
msg.BUF[0]=0X20;
msg.BUF[1]=0X05;
msg.BUF[2]=0X60;
msg.BUF[3]=0X00;
pmsg=&msg;
WORD tmp=MEM_W(&pmsg->BUF[1]);
为何tmp的值是5 而不是0x6005
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
test=MEM_B(buf);
test=MEM_W(buf);
test=MEM_DW(buf);
但是这样又能正确的取到值
一周热门 更多>