找回密码
 立即注册

QQ登录

只需一步,快速开始

打印 上一主题 下一主题
开启左侧

nuc977进入睡眠模式,但是不能通过按键唤醒设备

[复制链接]
楼主
arthur 发表于 2022-2-21 11:03:14 | 显示全部楼层
根据 NUC970 TRM 第 80页描述, SYS_WKUPSER (SYS_BA+0x058) 描述,系统唤醒源支持如下几种来源:
[31] USBH
[30] USBD
[28] WDT
[26] ADC
[24] RTC
[23] ETIMER3
[22] ETIMER2
[21] ETIMER1
[20] ETIMER0
[19] CAN1
[18] CAN0
[17] EMAC1
[16] EMAC0
[15] LVD
[13] UART10
[12] UART8
[11] UART6
[10] UART4
[9]   UART2
[8]   UART1
[7]   EINT7
[6]   EINT6
[5]   EINT5
[4]   EINT4
[3]   EINT3
[2]   EINT2
[1]   EINT1
[0]   EINT0

如果你的按键是通过 ADC 控制的,就支持 ADC源 唤醒,

你可以参考 drivers/input/nuvoton/nuc970adc.c 源码,通过如下代码控制寄存器 REG_WKUPSER 来唤醒

adc_key_resume()
{
  ...
  __raw_writel(__raw_readl(REG_WKUPSER) & ~(1<<26), REG_WKUPSER);
  disable_irq_wake(IRQ_ADC);
  ...
}
回复 支持 反对

使用道具 举报

沙发
arthur 发表于 2022-2-21 11:11:17 | 显示全部楼层
内核配置中打开 ADC 按键唤醒:
Device Drivers --> Input device support --> Input NuC970/N9H30 ADC
< * > Keypad support
< * >     Keypad wake-up support
回复 支持 反对

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

新唐MCU