阅读:991回复:1
请教宏SWAP(X)有什么用?
在MAINLOOP.H是这样定义:
#define SWAP(x) ((((x) & 0xFF) << 8) | (((x) >> 8) & 0xFF)) 如果x=0110,那么SWAP(X)就是1001吧? 但是在Chap_9.c里初始化配置描述符时有 SWAP(CONFIG_DESCRIPTOR_LENGTH), CONFIG_DESCRIPTOR_LENGTH应该等于0x2E是吧? 那样的话SWAP(CONFIG_DESCRIPTOR_LENGTH)不是等于0了吗? 还有为什么不直接用sizeof(CONFIG_DESCRIPTOR_LENGTH)呀? |
|
|
沙发#
发布于:2004-03-08 15:24
SWAP(x)的作用是交换高低字节。
CONFIG_DESCRIPTOR_LENGTH是双字节的,传入的格式应该与习惯 格式相反,也就是如果CONFIG_DESCRIPTOR_LENGTH长度为2E,那么 传入的时候应该2E 00,所以要用SWAP,我的理解是这样的。 [编辑 - 3/8/04 by holyrock] |
|