.. _PMU 复位功能介绍: PMU 复位功能介绍 ========================================= 本章节介绍PMU的复位功能。 芯片复位功能有以下几种: #. 主动复位 -> “:ref:`主动复位`”; #. 长按复位 -> “:ref:`长按复位`”; #. MCLR短按复位 -> “:ref:`MCLR短按复位`”; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. _主动复位: 主动复位 ##################################### 用户可以调取 #. chip_reset() #. system_reset() ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. _长按复位: 长按复位 ##################################### 用户调用power_reset_init()初始化长按复位功能。 一、AD14N / AD15N / AC104N 长按复位功能 函数void power_reset_init(const struct reset_param \*rs_param) 此函数实现长按复位初始化,该接口需要在电源初始化的最后调用(必须要在唤醒口设置后设置) 其中rs_param结构体内各参数含义为: :: 1、en:是否使能长按复位功能; 2、mode:复位模式; 0:等待IO电平翻转后再复位; 1:长按时间到了立即复位; 3、level:长按复位电平选择; 0:低电平; 1:高电平; 4、iomap:复位IO(如IO_PORTA_01) 5、hold_time:长按复位需要的时间; 0:1s; 1:2s; 2:4s; 3:8s; 4~7:16s; | SDK默认没有打开该功能。 | 用户若需要该功能,只需在唤醒IO设置后配置即可。 .. image:: longpress.png :alt: "长按复位配置“ :align: center .. centered:: 长按复位配置 二、AD17N与AD18N 长按复位功能 函数void gpio_longpress_pin0_reset_config(u32 pin, u32 level, u32 time, u8 release, u8 protect) 此函数实现长按复位初始化,该接口需要在电源初始化的最后调用,其中参数: :: 1、pin:复位I/O;(如:IO_PORTA_01) 2、level:触发方式 ①、0:下降沿触发; ②、1:上升沿触发; 3、time:时间 ①、0:disable; ②、1:1s复位; ③、2:2s复位; ④、4:4s复位; ⑤、8:8s复位; ⑥、16:16s复位 3、release:系统释放方式 ①、0:等待电平翻转后复位; ②、1:立即复位; 4、protect:该参数给0即可; 三、AD24N 长按复位功能 函数void gpio_longpress_pin0_reset_config(u32 pin, u32 level, u32 time, u32 release, enum gpio_mode pullup_down_mode) 此函数实现长按复位初始化,该接口需要在电源初始化的最后调用,其中参数: :: 1、pin:复位I/O;(如:IO_PORTA_01) 2、level:触发方式 ①、0:下降沿触发; ②、1:上升沿触发; 3、time:时间 ①、0:disable; ②、1:1s复位; ③、2:2s复位; ④、4:4s复位; ⑤、8:8s复位; ⑥、16:16s复位 3、release:系统释放方式 ①、0:等待电平翻转后复位; ②、1:立即复位; 4、pullup_down_mode:该IO初始状态;f 用户根据gpio_mode枚举选择对应的IO状态即可; 选择PORT_KEEP_STATE 即不操作该IO状态。 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. _MCLR短按复位: MCLR短按复位 ##################################### AD24N支持MCLR复位(MCLR与PA8绑定)。 用户可以在power_app.c里打开p33_mclr_sw(1)即可。 .. image:: AD24N_MCLR.png :alt: "AD24N_MCLR复位配置“ :align: center .. centered:: AD24N_MCLR复位配置 .. _复位源获取: 复位源获取 ##################################### 一、AD24N复位源函数如下: 函数bool is_reset_source(enum RST_REASON index); 获取复位源需要在电源初始化power_early_flowing()之后调用,否则获取的唤醒源不准确,其中参数: :: 1、index:复位源; 2、返回值:1:传入的参数是本次的复位源,0:传入的参数非本次复位源;