gpt4 book ai didi

android - 在 GPIO 上中断唤醒 Android 手机

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:38:25 24 4
gpt4 key购买 nike

在 Android 开发板上,我试图根据在 GPIO 上接收到的中断来唤醒 AP,有人可以帮我解决这个问题吗?

我的理解是:

我们需要创建一个输入设备,并根据接收到的中断更新一个事件到这个设备。然后我相信操作系统会从应用程序发送一个事件发生通知,然后我们需要使用唤醒锁来唤醒 AP。

请问我的理解是否正确?如果是,那么你能告诉我需要注册哪种输入设备(EV_PWR,EV_KEY ..),应用程序将如何获得通知,我们能否从驱动程序中唤醒 AP?

最佳答案

通用输入事件传播模型(简化):当输入发生时,内核会生成一个事件。输入事件由输入事件处理程序读取,并将其分派(dispatch)到前台应用程序。很少有 key 被发送到某些特定的应用程序,而不是被发送到前台应用程序。例如,键盘上的 Windows 按钮被发送到开始菜单,播放/暂停按钮被发送到媒体播放器应用程序,即使它不在前台也是如此。

如果 Android system_server 从内核读取事件,它会传递给前台应用程序/ View 。这是针对所有输入事件完成的,除了由 Android 的窗口管理器或 systemui 处理的电源键、主页按钮等。 PhoneWindowManager.java 有窗口管理器代码,它在按下电源键时获取 KEYCODE_POWER 事件。在这种情况下,如果屏幕打开并且没有保持显示的唤醒锁定,则屏幕被锁定(通过调用 PowerManager 中的 goToSleep),类似地,如果屏幕关闭,则屏幕打开(通过调用 PowerManager 中的 wakeUp)。

isWakeKey 位于 http://androidxref.com/5.1.0_r1/xref/frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java#4512按下并释放电源按钮时将设置为真。代码将根据当前屏幕状态调用 wakeUp 或 goToSleep。

关于android - 在 GPIO 上中断唤醒 Android 手机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24394103/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com