免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1888 | 回复: 5

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

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

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

论坛徽章:
0
发表于 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
发表于 2013-10-15 09:40 |显示全部楼层
回复 2# knightlyj


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

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

论坛徽章:
0
发表于 2013-10-15 11:09 |显示全部楼层
回复 4# kernel359


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

论坛徽章:
0
发表于 2013-10-21 15:16 |显示全部楼层
回复 5# knightlyj


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

本版积分规则 发表回复

DTCC2020中国数据库技术大会 限时8.5折

【架构革新 高效可控】2020年8月17日~19日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP