|
请教下,tlv320aic3111 耳机检测 ?
描述:
1. 目前使用 查询 gpio1 口的方式实现 插入,拔出 耳机的检测,这个方法已经完美实现
2. 当检测到有耳机插入后就继续读取寄存器 page=0, reg=67 ,判断插入耳机的类型,这个地方就不准确了,
a. 如果在没有播放前插入耳机,可以检测到我插入的是不带 mic 功能的耳机(这个是正确的, 耳机使用的是不带 mic 功能的耳机)
b. 如果在没有播放前没有插入耳机,等待播放后再插入耳机,此时检测到的是 带 mic 功能的耳机(这个地方就不准确了,耳机使用的都是同一个不带 mic 功能的耳机)
3. 如果不需要判断耳机类型的话,那么检测就是没有问题的
4. 耳机启用配置:
/* HP Debounce Time Settings */
#define HP_DEBOUNCE_32_MS BIT2
#define HP_DEBOUNCE_64_MS BIT3
#define HP_DEBOUNCE_128_MS (BIT3 | BIT2)
#define HP_DEBOUNCE_256_MS BIT4
#define HP_DEBOUNCE_512_MS (BIT4 | BIT2)
/*HS DETECT ENABLE*/
#define HS_DETECT_EN BIT7
/*HS BUTTON PRESS TIME */
#define HS_BUTTON_PRESS_0_MS 0
#define HS_BUTTON_PRESS_8_MS BIT0
#define HS_BUTTON_PRESS_16_MS BIT1
#define HS_BUTTON_PRESS_32_MS (BIT1 | BIT0)
其中 reVal |= (HP_DEBOUNCE_128_MS | HS_DETECT_EN | HS_BUTTON_PRESS_16_MS); 这句 组合了多个,可结果都还是一样的
哪位大神指点指点迷津哟,先感谢感谢 了
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|