兄弟,我也是查资料才看到你的这个问题,也许你已经解决了,但我想我还是抽点时间回复下,为想要这样做但是遇到同样问题的兄弟作参考。
回为我当时也想这样做,但是不行,后来看他库里面的文件,终于发现他的检测思路是有键按下时,其它键就不检测跳出来了,
我把库文件
stm8_tsl_services.c
void TSL_SCKey_DxS(void)
{
u8 DxSGroupMask, KeyToCheck;
if (pKeyStruct->Setting.b.LOCKED)
return;
DxSGroupMask = pKeyStruct->DxSGroup;
for (KeyToCheck = 0; KeyToCheck < NUMBER_OF_SINGLE_CHANNEL_KEYS; KeyToCheck++)
{
if (KeyToCheck != KeyIndex)
{
// KeyToCheck and current key are in same group ?
if (sSCKeyInfo[KeyToCheck].DxSGroup & DxSGroupMask)
{
if (sSCKeyInfo[KeyToCheck].Setting.b.LOCKED)
{
goto ExitToIdle;
}
}
}
}
#if NUMBER_OF_MULTI_CHANNEL_KEYS > 0
for (KeyToCheck = 0; KeyToCheck < NUMBER_OF_MULTI_CHANNEL_KEYS; KeyToCheck++)
{
// KeyToCheck and current key are in same group ?
if (sMCKeyInfo[KeyToCheck].DxSGroup & DxSGroupMask)
{
if (sMCKeyInfo[KeyToCheck].Setting.b.LOCKED)
{
goto ExitToIdle;
}
}
}
#endif
pKeyStruct->Setting.b.LOCKED = 1;
return;
ExitToIdle: // The DxS is verified at PRE DETECT state only !
//pKeyStruct->Channel.IntegratorCounter++; // Increment integrator to never allow DETECT state return;
}
对应红色那行注释掉就可以了。
|