xp4105
论坛版主
论坛版主
  • 注册日期2006-04-02
  • 最后登录2014-03-29
  • 粉丝1
  • 关注0
  • 积分905分
  • 威望570点
  • 贡献值1点
  • 好评度162点
  • 原创分1分
  • 专家分0分
阅读:1552回复:1

请教一个书写的简单问题

楼主#
更多 发布于:2007-02-28 11:06
  在DS的例子里,在9056的头文件中,有:
// PCI Status
#define PLX9056_PCISR                ULONG(0x0006)
#define PLX9056_PCISR_NCFS            USHORT(1 << 4)
#define PLX9056_PCISR_66MHZC            USHORT(1 << 5)
#define PLX9056_PCISR_UDF                USHORT(1 << 6)
#define PLX9056_PCISR_FBTBC            USHORT(1 << 7)
#define PLX9056_PCISR_MDPED            USHORT(1 << 8)
#define PLX9056_PCISR_DEVSELT            USHORT(3 << 9)
#define PLX9056_PCISR_TA                USHORT(1 << 11)
#define PLX9056_PCISR_RTA                USHORT(1 << 12)
#define PLX9056_PCISR_RMA                USHORT(1 << 13)
#define PLX9056_PCISR_SSE                USHORT(1 << 14)
#define PLX9056_PCISR_DPE                USHORT(1 << 15)

这样的定义,我不太明白其中的含义,比如 USHORT(1 << 4) 这样的意思,请教知道的大哥说说。

谢谢
时光如流水 抓紧时间实现自我价值
heartfree
驱动牛犊
驱动牛犊
  • 注册日期2005-04-12
  • 最后登录2013-01-11
  • 粉丝0
  • 关注0
  • 积分130分
  • 威望25点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-03-07 22:50
(1 << 4)就是二进制的 10000(把1左移4位)
 USHORT(1 << 4)就是=0x0010

<<是位移符号
游客

返回顶部