打印

耳机检测要中断和ADC都为低时才有效

[复制链接]
2535|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
6019赵文|  楼主 | 2010-5-26 23:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
现在做23D耳机检测时,有大部分耳机老检测不到,发现是要检测到中断和ADC0都为低的时候才会检测到耳机,但软件正常MTK流程中只要中断检测就行了,软件都是按MTK默认的流程走的,现在要插入耳机后要按挂断键耳机才能检测得到,是哪里问题?

相关帖子

沙发
6019赵文|  楼主 | 2010-5-30 22:07 | 只看该作者
怎么没人回答,大家帮帮忙啊

使用特权

评论回复
板凳
huzixian| | 2010-5-30 22:22 | 只看该作者
AUX_EINT_HISR是耳机检测的处理中断,检查耳机插入时是否触发了这个中断;
如果中断被触发,并且向上层报了正确的消息的话,问题就出在上层了;
若没有正确触发,价差一下aux_state的初始值,也许是中断的触发初始值和耳机插入时硬件给出的不一致。

使用特权

评论回复
地板
bit6019| | 2010-5-30 22:24 | 只看该作者
ADC0是你的耳机偏置电压度量脚吧?

使用特权

评论回复
5
6019赵文|  楼主 | 2010-5-30 22:30 | 只看该作者
中断触发是正常的,就是换了ADC,用MTK默认的ADC2是OK,换成ADC0了就不行了

使用特权

评论回复
6
maoyanketi| | 2010-5-30 22:38 | 只看该作者
如果是这样的话,可能可以测量一下耳机插入时耳机的偏置电压;分析一下
void: aux_read_result(AUX_ID *pre_id,kal_uint8 aux_adc_logic_id,local_para_struct *buf)函数里面的
      else if(aux_detect_mode==KAL_TRUE) /*Single mode*/
条件判断的代码,看看你测量到的电压和手机读到的电压是否一致;是否在判断条件里面。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

350

主题

1515

帖子

1

粉丝