degyhy123
驱动小牛
驱动小牛
  • 注册日期2002-11-12
  • 最后登录2014-02-09
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望71点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
阅读:1376回复:6

关于中断问题的再次提问

楼主#
更多 发布于:2005-02-21 17:52
各位老大,我现在出现的驱动中中断的问题很有趣,就是我发送时候产生的中断可以被正常处理,但是接收的时候产生的中断,当中断信号已经产生的时候,就出现一个对话框,写着:
first-chance exception in an unknown module
(0xc00000fd:stack overflow)那位老大能说说是怎么回事吗
degyhy123
驱动小牛
驱动小牛
  • 注册日期2002-11-12
  • 最后登录2014-02-09
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望71点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-02-22 11:17
各位老大能不能说说呀
degyhy123
驱动小牛
驱动小牛
  • 注册日期2002-11-12
  • 最后登录2014-02-09
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望71点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-02-23 09:44
现在还有就是当接收了后中断信号出现了,有可能机器还重新启动了,那位老大能分析一下呢
degyhy123
驱动小牛
驱动小牛
  • 注册日期2002-11-12
  • 最后登录2014-02-09
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望71点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-02-24 09:58
我的isr的处理代码如下:
ISRHandler(
    DWORD InstanceIndex
    )
{
DWORD   dwRetVal = SYSINTR_CHAIN;
UINT8   intstatusvalue=0;
    intstatusvalue=*(volatile UINT8 *)(s_apCommDesc[InstanceIndex]->Info.PortAddr);
   intstatusvalue=*(volatile UINT8 *)(s_apCommDesc[InstanceIndex]->Info.PortAddr);
      *(volatile UINT8 *)(s_apCommDesc[InstanceIndex]->Info.PortAddr+0x1000a)=0x00;
      *(volatile UINT8 *)(s_apCommDesc[InstanceIndex]->Info.PortAddr+0x1000a)=0x00;

  
  
   if( (InstanceIndex < PCIISR_MAX_INSTANCES)&&(s_apCommDesc[InstanceIndex] != NULL) )
    {
        // increment counter
      //  s_apCommDesc[InstanceIndex]->dwCounter++;

        // check interrupt state
        if(intstatusvalue!=0)
        {
            // good interrupt
            s_apCommDesc[InstanceIndex]->dwCounter ++;
              dwRetVal = s_apCommDesc[InstanceIndex]->Info.SysIntr;
}
        else
        {
            // bad interrupt
            s_apCommDesc[InstanceIndex]->dwCounter &= 0xFFFFFFFE;
        }
      
    
        // return system interrupt
      //  dwRetVal = s_apCommDesc[InstanceIndex]->Info.SysIntr;
    }

//Exit:
    return( dwRetVal );
}
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-02-24 12:57
你可以在你的isr中增加一些调试输出信息,以定位问题到底出在哪里,一段段地查,好在你的代码并不长。
Come on, let us drive the world.
degyhy123
驱动小牛
驱动小牛
  • 注册日期2002-11-12
  • 最后登录2014-02-09
  • 粉丝0
  • 关注0
  • 积分15分
  • 威望71点
  • 贡献值0点
  • 好评度4点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-03-01 15:41
wwei_wang老大,你可以告诉我intel8259中断控制器的初始化工作在什么地方做的吗
wwei_wang
驱动大牛
驱动大牛
  • 注册日期2002-06-07
  • 最后登录2006-06-23
  • 粉丝0
  • 关注0
  • 积分77分
  • 威望9点
  • 贡献值0点
  • 好评度7点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-03-03 12:03
不知道你的问题是否已经解决?
Come on, let us drive the world.
游客

返回顶部