2. 低功耗唤醒
2.1. 初始化唤醒口
- 不同芯片的初始化唤醒口略有不同,但大致流程一致:
AD14 / AC104 / AD15 初始化唤醒口配置 -> “AD14 / AC104 / AD15 初始化唤醒口配置”;
AD17 / AD18 初始化唤醒口配置 -> “AD17 / AD18 初始化唤醒口配置”;
AD24 初始化唤醒口配置 -> “AD24 初始化唤醒口配置”;
备注
唤醒源配置的滤波参数为所有port统一使用,非单个port使用。
2.1.1. AD14 / AC104 / AD15 初始化唤醒口配置
![]()
AD14 / AC104 / AD15唤醒源配置
2.1.2. AD17 / AD18 初始化唤醒口配置
![]()
AD17_AD18唤醒源配置
2.1.3. AD24 初始化唤醒口配置
![]()
AD24唤醒源配置
2.1.4. 保护唤醒口
芯片进入低功耗时会将所有I/O设置为高阻态;所以配置好唤醒源后,还需要在进入低功耗流程中释放对应I/O引脚,以免对应IO状态被设置为高阻。新添加的唤醒口需要单独释放,否则无法触发唤醒。不同芯片保护唤醒口位置不一样,但是处理方式一样:
AD14 / AC104 / AD15 保护唤醒口 -> “AD14 / AC104 / AD15 保护唤醒口”;
AD17 / AD18 保护唤醒口 -> “AD17 / AD18 保护唤醒口”;
AD24 保护唤醒口 -> “AD24 保护唤醒口”;
2.1.5. AD14 / AC104 / AD15 保护唤醒口
- AD14N / AD15N / AC104N:
![]()
AD14N_AD15N_AC104N低功耗释放新增唤醒引脚
2.1.6. AD17 / AD18 保护唤醒口
- AD17N / AD18:
![]()
AD17 / AD18 低功耗释放新增唤醒引脚
2.1.7. AD24 保护唤醒口
- AD24N:
![]()
AD24N低功耗释放新增唤醒引脚
2.2. 唤醒源获取
唤醒源获取功能只能获取softoff的唤醒源。
一、AD14N / AD15N / AC104N 唤醒源获取:
函数u32 power_wakeup_reason(void)
此函数实现获取softoff唤醒源信息,该接口需要在系统初始化sys_power_init()之前调用,否则获取的唤醒源不准确,其中参数:
1、返回值:唤醒端口(对应wakeup_param中的port成员);二、AD17N / AD18N / AD24N 唤醒源获取
函数u8 is_wakeup_source(enum WAKEUP_REASON index)
此函数实现获取softoff唤醒源信息,外部可传参检查是否为本次唤醒的唤醒源;
获取softoff唤醒源需要在电源初始化power_early_flowing()之后调用,否则获取的唤醒源不准确,其中参数:
1、index:唤醒源; 2、返回值:1:传入的参数是本次的唤醒源,0:传入的参数非本次唤醒源;