adb shell读取返回值_如何在ADB shell中读取耳机状态和读取ACCDET寄存器

本文介绍了如何通过ADB shell命令来获取Android设备的耳机状态,以及如何读取ACCDET寄存器的值。通过`cat /sys/class/switch/h2w/state`可以查看耳机插入状态,而进入ACCDET_Driver目录执行特定命令能持续抓取寄存器变化,例如在MT6589平台上,不同耳机状态会反映在特定地址的数值上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何在ADB shell中读取耳机状态和读取ACCDET寄存器

录入:edatop.com    点击:

[Description]

如何在ADB shell中读取耳机状态和读取ACCDET寄存器

[Solution]

获取耳机状态

cat /sys/class/switch/h2w/state

state值为0表示heADSet plug out;

state值为1表示有MIC的耳机插入(四段式耳机);

state值为2表示没有mic的耳机插入(三段式耳机)。

读取寄存器

cd /sys/devices/platform/Accdet_Driver/driver

echo 1 >start_debug

echo1 >dump_register

这样Accdet的reg会每500ms 抓到一次寄存器值,保存在log中

MT6589参考值(仅供参考):

无耳机:

<3>[31366.722403](0)[16408:ACCDET] ACCDET_BASE + 582=1090

<3>[31366.723021](0)[16408:ACCDET] ACCDET_BASE + 584=0

<3>[31366.723606](0)[16408:ACCDET] ACCDET_BASE + 586=0

<3>[31366.724191](0)[16408:ACCDET] ACCDET_BASE + 588=8ff

<3>[31366.724799](0)[16408:ACCDET] ACCDET_BASE + 58a=1ff

<3>[31366.725406](0)[16408:ACCDET] ACCDET_BASE + 58c=81f0

<3>[31366.726025](0)[16408:ACCDET] ACCDET_BASE + 58e=800

<3>[31366.726632](0)[16408:ACCDET] ACCDET_BASE + 590=800

<3>[31366.727240](0)[16408:ACCDET] ACCDET_BASE + 592=10

<3>[31366.727836](0)[16408:ACCDET] ACCDET_BASE + 594=20

<3>[31366.728433](0)[16408:ACCDET] ACCDET_BASE + 596=333

<3>[31366.729040](0)[16408:ACCDET] ACCDET_BASE + 598=0

<3>[31366.729625](0)[16408:ACCDET] ACCDET_BASE + 59a=0

<3>[31366.730211](0)[16408:ACCDET] ACCDET_BASE + 59c=ff

<3>[31366.733668](0)[16408:ACCDET] ACCDET_BASE + 59e=20

<3>[31366.735256](0)[16408:ACCDET] ACCDET_BASE + 5a0=0

<3>[31366.735882](0)[16408:ACCDET] ACCDET_BASE + 5a2=0

<3>[31366.737017](0)[16408:ACCDET] 0x00000114 =0

<3>[31366.737537](0)[16408:ACCDET] 0x0000017E =12

<3>[31366.738068](0)[16408:ACCDET] 0x00000180 =0

<3>[31366.738588](0)[16408:ACCDET] 0x00000182 =0

<3>[31366.739109](0)[16408:ACCDET] 0x00000102 =4607

<3>[31366.739662](0)[16408:ACCDET] 0x00000104 =0

<3>[31366.740183](0)[16408:ACCDET] 0x00000106 =0

<3>[31366.742454](0)[16408:ACCDET] 0x00004000 =0

有耳机:

<3>[31595.222402](0)[16408:ACCDET] ACCDET_BASE + 582=1090

<3>[31595.223020](0)[16408:ACCDET] ACCDET_BASE + 584=1

<3>[31595.223606](0)[16408:ACCDET] ACCDET_BASE + 586=77

<3>[31595.224202](0)[16408:ACCDET] ACCDET_BASE + 588=8ff

<3>[31595.224810](0)[16408:ACCDET] ACCDET_BASE + 58a=1ff

<3>[31595.225417](0)[16408:ACCDET] ACCDET_BASE + 58c=81f0

<3>[31595.226035](0)[16408:ACCDET] ACCDET_BASE + 58e=400

<3>[31595.226643](0)[16408:ACCDET] ACCDET_BASE + 590=800

<3>[31595.227250](0)[16408:ACCDET] ACCDET_BASE + 592=10

<3>[31595.227846](0)[16408:ACCDET] ACCDET_BASE + 594=20

<3>[31595.228443](0)[16408:ACCDET] ACCDET_BASE + 596=333

<3>[31595.229050](0)[16408:ACCDET] ACCDET_BASE + 598=0

<3>[31595.229636](0)[16408:ACCDET] ACCDET_BASE + 59a=0

<3>[31595.230222](0)[16408:ACCDET] ACCDET_BASE + 59c=7055

<3>[31595.232650](0)[16408:ACCDET] ACCDET_BASE + 59e=800

<3>[31595.233258](0)[16408:ACCDET] ACCDET_BASE + 5a0=0

<3>[31595.233842](0)[16408:ACCDET] ACCDET_BASE + 5a2=0

<3>[31595.234428](0)[16408:ACCDET] 0x00000114 =0

<3>[31595.234948](0)[16408:ACCDET] 0x0000017E =16

<3>[31595.235480](0)[16408:ACCDET] 0x00000180 =0

<3>[31595.236000](0)[16408:ACCDET] 0x00000182 =0

<3>[31595.236521](0)[16408:ACCDET] 0x00000102 =607

<3>[31595.237063](0)[16408:ACCDET] 0x00000104 =0

<3>[31595.237584](0)[16408:ACCDET] 0x00000106 =0

<3>[31595.238104](0)[16408:ACCDET] 0x00004000 =0

很简短的帖子但是很实用,最近就是一直在搞这个!

申明:网友回复良莠不齐,仅供参考。如需专业帮助,请学习易迪拓培训专家讲授的ADS视频培训课程。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值