2.2.5.1. 长按复位

2.2.5.1.1. 长按复位配置

在isd_config_rule.c中通过配置长按复位打开关闭。

[BURNER_OPTIONS]
LONG_RESET_EN = YES;

在app_config.h中对长按复位相关配置项进行配置,默认长按复位IO为PA0,可以支持配置到任意IO。

#define PINR_RESET_IO                       IO_PORTA_00
#define PINR_RESET_LVL                      0 // 0下降沿 1上升沿
#define PINR_PRESS_TIME                                             8 // 0/1/2/4/8/16 秒
#define PINR_RESET_RELASE                                   1 // 0释放后复位 1立即复位
#define PINR_PROTECT_EN                                             0 // 写保护使能

2.2.5.1.2. 长按复位相关接口

2.2.5.1.2.1. efuse_get_pinr_reset_en

功能: 获取长按复位是否使能。

u32 efuse_get_pinr_reset_en(void);

参数:

返回值

1使能 0失能

2.2.5.1.2.2. gpio_longpress_pin0_reset_config

功能: 长按复位配置初始化。

void gpio_longpress_pin0_reset_config(u32 pin, u32 level, u32 time, u8 release, u8 protect);

参数:

pin

任意GPIO

level

0(下降沿触发) 1(上升沿触发)

time

0(disable) 1 2 4 8 16单位为秒

relase

0(等待电平翻转后复位) 1(立即复位)

protect

0(关闭写 保护) 1(打开写保护)

返回值

2.2.5.1.3. 长按复位使用demo(参考setup.c main函数)

if (efuse_get_pinr_reset_en()) {
    gpio_longpress_pin0_reset_config(PINR_RESET_IO, PINR_RESET_LVL, PINR_PRESS_TIME, PINR_RESET_RELASE, PINR_PROTECT_EN);
}