今天老板让做个驱动,不知道怎么做,请大虾们帮帮忙
就是做个按键驱动,其是做好了上升沿驱动用的是__gpio_irq_fall_edge()来检测,让我做按键弹起的时候,也发送信号,(就是说也能检测到)
我用了__gpio_irq_rise_edge(),但出现个问题,当按键按下去的时候,其中断是屏蔽的,我用这个中断好像没有效果
请大虾们指点……或者有别的方法来实现 你把代码贴出来看看吖。。没看到代码也不好分析是吧 啥体系结构?ARM? X86? MIPS,我是想贴代码,代码在公司搞不出来 应该有类似 Both edge 这样的函数的。
再找下 用内核自带的gpio key 功能,多方便,配置一下就好用了, 什么按下 抬起等都能检测的 看起来好象是GPIO直接接中断控制器 一般中断控制器不支持双沿
建议1 中断函数中改变边沿方式
2 外加一个数字电路 IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING
实现不了吗 情况不明确
http://www.chinasg.org/images/luguang/sigline.gif
生活就像XX,既然你不能反抗,就要学会享受---------在线漫画死神漫画小说搜索 ./kernelxxx/drivers/input/keyboard/gpio-keys.c
这里面什么都有
error = request_irq(irq, gpio_keys_isr,
IRQF_SHARED | IRQF_TRIGGER_FALLING | IRQF_TRIGGER_RISING,
button->desc ? button->desc : "gpio_keys",
pdev);
你的触发方式注册的时候写进去。
页:
[1]
2