长按复位配置方法
📎 原始文档:https://www.kdocs.cn/l/cmEKCy9idR0b 长按复位配置方法
- JL701N
- IO设置长按复位接口


- 开了内置触摸,耳机跑充电流程会设置LDOIN脚长按复位

- 接口,level为1是高电平复位,level为0是低电平复位
void charge_check_and_set_pinr(u8 level)
{
u8 reg;
reg = P33_CON_GET(P3_PINR_CON1);
//开启LDO5V_DET长按复位
if ((reg & BIT(0)) && ((reg & BIT(3)) == 0)) {
if (level == 0) {
P33_CON_SET(P3_PINR_CON1, 2, 1, 0);
} else {
P33_CON_SET(P3_PINR_CON1, 2, 1, 1);
}
}
}
- 设置长按复位时间
//1S
P33_CON_SET(P3_PINR_CON1, 4, 3, 0);
//2S
P33_CON_SET(P3_PINR_CON1, 4, 3, 1);
//4S
P33_CON_SET(P3_PINR_CON1, 4, 3, 2);
//8S
P33_CON_SET(P3_PINR_CON1, 4, 3, 3);
//16S
P33_CON_SET(P3_PINR_CON1, 4, 3, 4);
- 举一个想要将长按复位时间设成8S,并且是高电平复位的例子
void charge_check_and_set_pinr_8s(u8 level)
{
u8 reg;
reg = P33_CON_GET(P3_PINR_CON1);
//开启LDO5V_DET长按复位
if ((reg & BIT(0)) && ((reg & BIT(3)) == 0)) {
P33_CON_SET(P3_PINR_CON1, 4, 3, 3);
if (level == 0) {
P33_CON_SET(P3_PINR_CON1, 2, 1, 0);
} else {
P33_CON_SET(P3_PINR_CON1, 2, 1, 1);
}
}
}
//想要设置成长按复位时间设成8S,并且是高电平复位的地方,调用
charge_check_and_set_pinr_8s(1);
2.关闭长按复位
在app_main中执行
//关PB1长按复位
P33_CON_SET(P3_PINR_CON, 0, 8, 0);
//关ldoin长按复位
P33_CON_SET(P3_PINR_CON1, 0, 8, 0);
其他-多路IO唤醒设置示例
