0vk0 发表于 2011-03-03 21:49

今天老板让做个驱动,不知道怎么做,请大虾们帮帮忙

就是做个按键驱动,其是做好了上升沿驱动

用的是__gpio_irq_fall_edge()来检测,让我做按键弹起的时候,也发送信号,(就是说也能检测到)

我用了__gpio_irq_rise_edge(),但出现个问题,当按键按下去的时候,其中断是屏蔽的,我用这个中断好像没有效果

请大虾们指点……或者有别的方法来实现

hujinzhi 发表于 2011-03-03 23:34

你把代码贴出来看看吖。。没看到代码也不好分析是吧

accessory 发表于 2011-03-04 03:26

啥体系结构?ARM? X86?

0vk0 发表于 2011-03-04 07:17

MIPS,我是想贴代码,代码在公司搞不出来

goldenfort 发表于 2011-03-04 09:50

应该有类似 Both edge 这样的函数的。

再找下

armips 发表于 2011-03-04 14:38

用内核自带的gpio key 功能,多方便,配置一下就好用了, 什么按下 抬起等都能检测的

smalloc 发表于 2011-03-04 17:28

看起来好象是GPIO直接接中断控制器 一般中断控制器不支持双沿
建议1 中断函数中改变边沿方式
2 外加一个数字电路

xxw19840406 发表于 2011-03-08 10:09

IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING
实现不了吗

巨无霸福特 发表于 2011-03-08 12:02

情况不明确

































http://www.chinasg.org/images/luguang/sigline.gif
生活就像XX,既然你不能反抗,就要学会享受---------在线漫画死神漫画小说搜索

jn200002 发表于 2011-03-08 13:35

./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
查看完整版本: 今天老板让做个驱动,不知道怎么做,请大虾们帮帮忙