Deavy Lau
驱动牛犊
驱动牛犊
  • 注册日期2003-12-11
  • 最后登录2005-11-30
  • 粉丝0
  • 关注0
  • 积分19分
  • 威望4点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:991回复:1

请教宏SWAP(X)有什么用?

楼主#
更多 发布于:2004-03-08 15:00
在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)呀?
伫倚危楼,风细细, 望尽春愁,暗暗升天际。 草色烟光残照里,无言谁会凭阑意。
holyrock
驱动牛犊
驱动牛犊
  • 注册日期2003-12-27
  • 最后登录2005-08-21
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-03-08 15:24
  SWAP(x)的作用是交换高低字节。
  CONFIG_DESCRIPTOR_LENGTH是双字节的,传入的格式应该与习惯
格式相反,也就是如果CONFIG_DESCRIPTOR_LENGTH长度为2E,那么
传入的时候应该2E 00,所以要用SWAP,我的理解是这样的。

[编辑 -  3/8/04 by  holyrock]
游客

返回顶部