更新: i将键盘布局文件(gpio-keys.kl)更改为:
key 115 POWER WAKE
key 114 POWER WAKE
正如所见,我现在注册了音量按钮作为电源键在安卓,它唤醒了系统。不过,我希望有任何通用的gpio键唤醒系统。如前所述更改密钥布局文件的事实告诉我,问题可能在Android端,而不是Linux内核端。不确定。也许Android中有一些文件(策略文件等等)在这里,我可以为所选择的gpio键提供唤醒功能,就像POWER密钥具有这种唤醒功能一样。
请告诉我你的想法。
原件:作为背景,我的硬件是三星GalaxyS2-i 777,它运行在Exyno
如何选择在Linux下与gpio一起工作?
是否可以使用select来创建一种中断驱动程序,也许可以通过一些线程的帮助?
当我使用select调用时,我应该考虑什么?
谢谢
注意:我已经阅读了select上的手册页,但我认为我需要更多关于这个主题的帮助。
man 3位置选择
man 2选择
man 2 select_tut
更新:gpio公开在sysfs gpio块中。但我不知道我能不能用这个和select。
我正试图在我的驱动程序中为DM6446 GPIO银行0 interrupt.But request_irq返回设置一个中断处理程序。我从数据表中知道GPIO银行的中断号为56。下面是我代码中GPIO的设置,我想在GPIO-10上获得中断。
while((REG_VAL(PTSTAT) & 0x1) != 0); // Wait for power state transtion to finish
REG_VAL(MDCTL26) = 0x00000203; //To enable GPIO module and EM
我正在开发一个嵌入式Linux ARM系统,它需要以特定的顺序关闭一些电源(通过GPIO控制),从而对电源故障信号做出反应。这个过程需要尽快启动,所以我已经安装了一个中断处理程序来检测这个电源故障。
问题是,我们需要在关闭每一种供应之间引入一点延迟。我知道中断处理程序中通常不允许延迟,但是如果这个处理程序永远不会返回(电源正在故障!),这是完全没有问题的。
我试图通过使用中描述的方法来引入延迟,但在我的一生中,我实际上不能造成可测量的延迟(在示波器上观察到)。
我做错了什么,怎么做才是对的?
下面是相关的代码。
/* This function sets en_gpio low, then w
(第一篇)我刚刚在我的笔记本电脑上通过wifi连接设置了一个带有监视器视图的raspberry pi 3。
我在电路板上设置了两个LED灯和一个按钮开关。
我可以打开闪烁的灯,但不能用相同的按钮关闭序列。
我有一种感觉,我没有正确地结束我的while循环。仍在学习中,如果有任何帮助,我们将不胜感激。
下面是我的代码:
#!/usr/bin/python
import RPi.GPIO as GPIO
import time
GPIO.setmode(GPIO.BCM)
GPIO.setup(25, GPIO.OUT, initial=0) # Blue LED
GPIO.setup(17,