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);
}