主题 : linux驱动问题 无法用CTRL+C结束 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 8756
精华: 0
发帖: 34
金钱: 340 两
威望: 170 点
综合积分: 68 分
注册时间: 2009-09-05
最后登录: 2010-10-11
楼主  发表于: 2009-09-20 16:37

 linux驱动问题 无法用CTRL+C结束

无法用CTRL+C结束
我驱动里用了两个中断,一个是ENIT8, 一个TIMER0
是中断方式的问题吗?
  TIMER0 的中断方式是IRQF_TIMER
程序运行起来后,就不能用CTRL+C来结束了,请班主帮我看看行吗
  这个问题都研究好几天还没有结果,呀,请救呀
级别: 新手上路
UID: 7830
精华: 0
发帖: 45
金钱: 335 两
威望: 183 点
综合积分: 90 分
注册时间: 2009-07-30
最后登录: 2017-09-13
1楼  发表于: 2009-09-26 01:22
提供几句代码给你参考,主要是红色字那几句
========================
        __set_current_state(TASK_INTERRUPTIBLE); //改变进程状态
        schedule(); //调度其他进程运行
        if(signal_pending(current))
        {
            ret = - ERESTARTSYS;
            goto out;
        }

        else
        {
            goto retry;
        }
        //--------v002 end-------
    }

    out:
    remove_wait_queue(&g_pkey_dev->wq, &wait);
    set_current_state(TASK_RUNNING);
    return ret;
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
2楼  发表于: 2009-09-26 09:25
这个问题应该已经解决。参考http://www.aiothome.com/bbs/read.php?tid-3113.html
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."