免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2317 | 回复: 5
打印 上一主题 下一主题

gpio复用作中断,但没能显示,采取过一些办法,但问题没解决 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-09-30 14:09 |只看该作者 |倒序浏览

问题过程:

      在写一个android手机触摸屏的驱动,如下:
  
      #define GPIO_RET  17  //reset
      #define GPIO_IRQ   18 //irq

      ........................

      ........................

     
      irq=gpio_to_irq(GPIO_IRQ);
      printk("irq---------%d\n",irq);  //最后查log的时候,这输出了一个值335

      .......................

     request_threaded_irq(irq, NULL, my_thread_fn, xxx, xxxx, xxxx); //测过这的返回值,是0

问题:

    从上面的过程和log可以看出来,中断应该是正确申请了,但当
    cat  /proc/interrupts的时候,并没有335这个中断


采用过的方法:

    1、自己给irq赋一个值,传到 request_threaded_irq,结果是不能 随便写,我个人理解是gpio这与
         irq应该有一个对应关系,所以不能写,不知对不对?

    2、换一个GPIO号,把GPIO_RET 传给gpio_to_irq,后面不变。cat  /proc/interrupts能看到中断,
        但找不到设备。

   
   我对驱动接触比较初级,遇到上述问题,采取了我能想到的办法,但最终都没能解决问题,不知哪位对这方面比较了解,望指导一二,在此非常感谢!


论坛徽章:
0
2 [报告]
发表于 2013-10-10 17:07 |只看该作者
1.对,不同GPIO对应不同中断号,不过之前在新塘的MCU上见过不同IO使用同一中断向量,然后根据寄存器值区分是哪个GPIO的中断,此时应该是同一中断号,驱动自己判断吧
2.根据你的测试,可能是中断号弄错了, 你可以试试这个proc中显示的GPIO能否进入ISR(这里可能叫IST?)

理解有错误的话,希望大家指出
PS:我没用过request_threaded_irq,只用过request_irq.

论坛徽章:
0
3 [报告]
发表于 2013-10-11 16:18 |只看该作者
回复 2# knightlyj

谢谢,很有帮助!
另外request_threaded_irq只是对request_irq做了一个非常简单的封装。

static inline int __must_check
request_threaded_irq(unsigned int irq, irq_handler_t handler,
                     irq_handler_t thread_fn,
                     unsigned long flags, const char *name, void *dev)
{
        return request_irq(irq, handler, flags, name, dev);
}


   

论坛徽章:
0
4 [报告]
发表于 2013-10-15 09:40 |只看该作者
回复 2# knightlyj


    这个问题疑惑了很久,最后弄明白,原来是电压问题,有一根线没有任何标识,所以当时没接,导致供电不足,后来接上就好了!

   无论如何再次感谢兄台帮我想问题和回复,谢谢!

论坛徽章:
0
5 [报告]
发表于 2013-10-15 11:09 |只看该作者
回复 4# kernel359


    额..恭喜,不过我挺想了解一下详细情况..

论坛徽章:
0
6 [报告]
发表于 2013-10-21 15:16 |只看该作者
回复 5# knightlyj


    谢谢!
    其实也没什么详细的情况,就是原来怎么捣鼓都不好使,一直没有相应的中断,后来把那根线接上,一切问题解决。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP