耳机检测
来源:互联网 发布:苹果电脑办公软件 编辑:程序博客网 时间:2024/04/27 16:03
一 耳机检测的硬件原理
headset不带mic 的耳机 headphone 带mic的耳机
1)通过类似耳机插座的中的检测引脚脚 与耳机中的GPIO 接触产生电平变化 引起GPIO中断 调用中断处理函数读取GPIO的值并判断 是否插拔
2)Android耳机插拔实现机制 inputevent uevent(默认机制)
二 android 耳机插拔检测流程
snd_soc_jack_add_pins
三 inputevent 机制
1)内核层处理
int snd_soc_jack_new() 创建jack 对象
snd_soc_jack_add_pins ()将对象加入到dapm
snd_soc_jack_add_gpios()
中断处理函数中 snd_jack_report() 发送inputevent
四 unevent 机制
1)基本术语 switch 检测开关量
switch class.c 实现switch_class 提供支持的函数供 switch_device 设备驱动使用
create_switch_class->class_create创建switch_class设备类
switch_dev_register switch_dev_unregister
state_show name_show 返回设备的名称 和状态
switch_set_state 发送uevent 通知用
gpio.c 实现switch设备
调用probe 函数完成初始化 (注册 switch_device 设备,分配中断)
2)内核层处理
/sys/devices/virtual/switch/h2w state 更新 state 值 从而通知上层耳机的状态改变
- 耳机检测
- android耳机插入检测
- 耳机类型检测
- android耳机插入检测
- android 耳机插入检测
- android耳机插入检测
- android耳机插入检测
- 耳机检测原理
- Android 耳机检测
- Android耳机插入检测
- 检测耳机插入与否
- 检测耳机插入拔出
- IOS检测耳机
- 检测是否插入耳机
- msm8610耳机检测相关
- msm8x16 耳机阻抗检测
- iOS - 检测耳机孔是否存在耳机:
- android耳机检测之最复杂的耳机检测流程
- 打印中文控制台出现乱码
- hbase表操作
- 日积月累的知识
- 习题3-7 UVa1368 DNA Consensus String
- Eigen快速入门
- 耳机检测
- eclipse修改
- 如何理解ip路由和操作linux的路由表
- ubuntu12.04下thunderbird英文如何改成中文
- matlab练习程序(奇异值分解压缩图像)
- CSS选择器(一)
- 使用C++复制文件
- 临时网站
- request,response,session,cookie,application