ST意法半导体
直播中

笔画张

12年用户 992经验值
私信 关注
[问答]

TouchController是放置检测不活动逻辑的最佳位置吗?

你好,
我正在开发 Cortex M4,我想为我的程序添加一些节能功能,并认为我需要检测用户活动。为此,我想
  • 检测用户是否在 x [例如 5] 秒内没有点击触摸屏,如果是:
    • 尽可能调暗屏幕的背光,或者更好的是,手动将显示器设置为待机状态并禁用触摸感应。
    • 时钟关闭 MCU。
  • 如果按下硬件按钮,我想再次唤醒显示器,并再次增加时钟。
此外,我创建了一个专用的“充电屏幕”(基本上只有一个动画电池在循环中填充一些条),即使用户触摸屏幕以便更快充电,我也想从该屏幕进入省电模式。
所以,我的问题是:
  • `TouchController::sampleTouch(...)` 方法在哪里调用?我没有在代码中的任何地方找到它...
  • `TouchController` 是放置检测不活动逻辑的最佳位置吗?
  • 如果没有,我最好把这种代码放在哪里?

回帖(1)

韦明

2022-12-26 15:34:33
sampleTouch() 是从预编译的 TouchGFX 库代码中调用的,请参阅附加的堆栈跟踪。您可以尝试向 TouchController 添加一个标志,该标志在触摸事件时自行设置并在读取时清除。从 Model::tick() 函数中读取该标志,如果在没有设置标志的情况下通过了太多滴答,则将您需要发送的任何信号发送到后端以启动断电过程,例如通过 RTOS 队列。我没有使用低功耗模式的经验,所以我不能再多说了,祝你好运。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分