if(Pen_Point.Key_Sta==Key_Down)//觸摸屏被按下
{
Pen_Int_Set(0);//關閉中斷
do
{
Convert_Pos();
Pen_Point.Key_Sta=Key_Up;
POINT_COLOR=BLUE;
LCD_ShowString(105,2,"X=");
LCD_ShowString(170,2,"Y=");
LCD_ShowNum(130,2,Pen_Point.X0,3,16);
LCD_ShowNum(190,2,Pen_Point.Y0,3,16);
if ((Pen_Point.X0>175 && Pen_Point.X0<240) && (Pen_Point.Y0>260 && Pen_Point.Y0<320)) {
POWER_KEY_PRESS=1;
}
LED0=0;
} while(PEN==0);//如果PEN一直有效,則一直執行
LED0=1;
Pen_Int_Set(1);//開啟中斷
}
依照这个代码, 我设了一个ON/OFF按键, 在同一位置, 按一次是 "开机", 再按第2次时是 "关机" (取反).
但发现, 从关机变成开机后的 "第1次" , 我按画面的其它任何位置, 有很高的机率被误判成 "又按一次开关键",
结果又关机了. 特别是轻轻触碰的时候. 反过来先在开机状态, 用同样方式, 也会误判又自己变 "关机" 状态.
并且这动作只会出现在转变后的 "第1次" . 轻轻按其它区域特别会出现这问题, 于是我在画面写上读到的触碰XY座标,
结果真的是抓成上一次的座标值(即电源位置), 不知道其它人会发生这问题吗 ?
如果触控按键不是设计成取反的这种功能, 则可能不容易发现 .
|