微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 手机设计讨论 > MTK手机平台交流 > 短按耳机HOOK键有较大概率会被误判成长按

短按耳机HOOK键有较大概率会被误判成长按

时间:10-02 整理:3721RD 点击:
[DESCRIPTION]
短按耳机HOOK键有较大概率会被误判成长按,比如在来电时,短按HOOK本来是接听电话,但实际上是挂断了电话。
[SOLUTION]
这种情况的原因一般是因为在清中断没有完成之前就去读取AB值的状态导致,此时读到的AB状态可能是错误的,
解决方法是加一下清中断的延迟,以确保清中断完成,参考代码如下:
static inline void check_cable_type(void)
{
····
//增加清中断的延迟,如果还是有概率发生,可以适当加大延迟时间
#if 1
int i = 0;
while( (pMIC_pwrap_read(ACCDET_IRQ_STS) & ACCDET_IRQ) && i < 20)
{
i++;
udelay(200);
}
ACCDET_DEBUG("[Accdet]check_cable_type#1: ACCDET_IRQ_STS = 0x%x\n",
PMIC_pwrap_read(ACCDET_IRQ_STS));
#endif
current_status = ((pmic_pwrap_read(ACCDET_STATE_RG) & 0xc0)>>6); //A=bit1; B=bit0
··

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top