tangorange
驱动牛犊
驱动牛犊
  • 注册日期2007-06-27
  • 最后登录2007-07-03
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望4点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
阅读:1533回复:0

关中断disable()怎么不管用???各位帮忙

楼主#
更多 发布于:2007-06-27 23:04
我用的是一块串口卡,和中断相关的程序段如下:
IRQ:7
void OpenPort()
{
   asyncoldvect = getvect(0x0F);
   disable();
   ……
   outportb(BaseAddCOM4+IER,0x01);
   ……
  
   old_mask=inportb(0x21);
   outportb(0x21,old_mask & 0x7f);
   setvect(0x0f,asyncint);
   enable();
}

void ClosePort()
{
   disable();
   outportb(BaseAddCOM4+IER,0x00);
   ……
   outportb(0x21,old_mask);
   enable();
   setvect(0x0f,asyncoldvect);

}

在主函数中,我想关闭接收中断时,用disable()后照样接收数据,而非得用outp(IER,0x00)才能不接收数据,请问这是什么原因???
 
游客

返回顶部