一般代码中都不能使用 while循环等待.
正常做法是在 if(exKeyValueFlag & TK17) 设置一个 按键按下标志(如:keyDown = 1),
然后在后面 if(TouchKeyScan()& TK17)判断 改为 if((keyDown == 1) && (TouchKeyScan()& TK17));//按键弹起后的处理.
--------------
if(exKeyValueFlag & TK17)
{
while(TouchKeyScan()& TK17);//等待按键弹起
i++;
}
--------- 改为 ---------
if(exKeyValueFlag & TK17)
{
keyDown = 1;
i ++;
}
if( (keyDown == 1) && (TouchKeyScan()& TK17) )
{
keyDown = 0;
//按键弹起 后的处理
} |
试了,上面的思路看是没有错,就是实际上也不好用。
有空试一试。