我希望在我插入耳机时生成 Jack 中断。 下面是 TLV IC 实现的原理图设计部分。
下面是我为启用中断服务例程所做的设置、
void enable_jack_interrupt ()
{
SYSTEM ("i2cset -y -r 1 0x18 0x00 0x00");
SYSTEM ("i2cset -y -r 1 0x18 0x01 0x01");
SYSTEM ("i2cset -y -r 1 0x18 0x04 0x03");
SYSTEM ("i2cset -y -r 1 0x18 0x06 0x08");
SYSTEM ("i2cset -y -r 1 0x18 0x07 0x00");
SYSTEM ("i2cset -y -r 1 0x18 0x05 0x91");
系统("i2cset -y -r 1 0x18 0x0B 0x88");
SYSTEM ("i2cset -y -r 1 0x18 0x0C 0x82");
SYSTEM ("i2cset -y -r 1 0x18 0x0D 0x00");
SYSTEM ("i2cset -y -r 1 0x18 0x1B 0x00");
系统("i2cset -y -r 1 0x18 0x3C 0x0B");
SYSTEM ("i2cset -y -r 1 0x18 0x00 0x08");
SYSTEM ("i2cset -y -r 1 0x18 0x01 0x04");
SYSTEM ("i2cset -y -r 1 0x18 0x00 0x00");
SYSTEM ("i2cset -y -r 1 0x18 0x74 0x00");
SYSTEM ("i2cset -y -r 1 0x18 0x43 0x85");
系统("i2cset -y -r 1 0x18 0x30 0xC0");
SYSTEM ("i2cset -y -r 1 0x18 0x00 0x01");
SYSTEM ("i2cset -y -r 1 0x18 0x1F 0x04");//对于耳机、请取消注释此行
系统("i2cset -y -r 1 0x18 0x21 0x4E");
SYSTEM ("i2cset -y -r 1 0x18 0x23 0x44");
SYSTEM ("i2cset -y -r 1 0x18 0x28 0x06");
SYSTEM ("i2cset -y -r 1 0x18 0x29 0x06");
系统("i2cset -y -r 1 0x18 0x2A 0x1C");
SYSTEM ("i2cset -y -r 1 0x18 0x1F 0xC2");//对于耳机、取消注释此行
SYSTEM ("i2cset -y -r 1 0x18 0x20 0x86");//仅对于耳机、请注释此行
SYSTEM ("i2cset -y -r 1 0x18 0x24 0x92");
SYSTEM ("i2cset -y -r 1 0x18 0x25 0x92");
SYSTEM ("i2cset -y -r 1 0x18 0x26 0x92");
SYSTEM ("i2cset -y -r 1 0x18 0x00 0x00");
SYSTEM ("i2cset -y -r 1 0x18 0x3F 0xD4");
SYSTEM ("i2cset -y -r 1 0x18 0x41 0xE6");// 0xE6=0.4V 0xFB=1.5v ac
系统("i2cset -y -r 1 0x18 0x42 0xE6");
SYSTEM ("i2cset -y -r 1 0x18 0x40 0x00");
}但仍然无法在 Jack INT 引脚上获得中断。 能不能支持我解决问题陈述吗?



