limee
驱动牛犊
驱动牛犊
  • 注册日期2004-03-02
  • 最后登录2006-07-25
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1242回复:1

请做过9504的兄弟看一下

楼主#
更多 发布于:2005-04-18 13:13
武安河的书上p374页,有一句程序语句是不是写错了?
我反复核对了9504的DataSheet,心中不解。
望做过的兄弟帮个忙,谢谢!
BOOLEAN PCI9054Device::Isr_Irq(void)
{
    ULONG   status;
    status = m_IoPortRange0.ind(INTCSR);
//  判断是否为DMA通道0的传输中断结束
  
    if ((status & 0x200000) == 0)
  {
    return FALSE;
  }
//  清除DMA通道0的传输结束中断
    m_IoPortRange0.outd(DMAMODE0,0x20800);  // 先禁止中断
    m_IoPortRange0.outd(DMACSR0,0x10);      // 在清除中断
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      我反复核对了9054的DataSheet觉得在清除中断这句话要这样写吧??
  
武安河的书上p374页,有一句程序语句是不是写错了?
我反复核对了9504的DataSheet,心中不解。
望做过的兄弟帮个忙,谢谢!
BOOLEAN PCI9054Device::Isr_Irq(void)
{
    ULONG   status;
    status = m_IoPortRange0.ind(INTCSR);
//  判断是否为DMA通道0的传输中断结束
  
    if ((status & 0x200000) == 0)
  {
    return FALSE;
  }
//  清除DMA通道0的传输结束中断
    m_IoPortRange0.outd(DMAMODE0,0x20800);  // 先禁止中断
    m_IoPortRange0.outd(DMACSR0,0x10);      // 在清除中断
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      我反复核对了9054的DataSheet觉得在清除中断这句话要这样写吧??
      m_IoPortRange0.outd(DMACSR0,0x08);
      ......
}
wei_ziyong
驱动牛犊
驱动牛犊
  • 注册日期2003-12-31
  • 最后登录2010-04-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望16点
  • 贡献值0点
  • 好评度16点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-04-19 17:47
好像书上说的是对的,你可以把书上的代码直接拿来用是正确的
游客

返回顶部