關于mini開發板的2.8寸電阻觸摸屏,想通過觸摸button1區域改變LED1的亮滅,觸摸button2區域改變LED2的亮滅
,可結果不論觸摸哪個區域只在改變LED1的亮滅,求大神幫我看看問題出在哪兒?卡了好長時間了,拜托
void windows1(void)
{
POINT_COLOR=RED;
LCD_DrawRectangle(60, 60, 170, 120);//(0<x239;0<y<319)
LCD_ShowString(65,65 , 100,50,16,"button1");
LCD_DrawRectangle(60, 180, 170,240);//(0<x239;0<y<319);
LCD_ShowString(65,185 , 100,50,16,"button2");
}
int touch_scan(void)
{
u8 flag;
tp_dev.scan(0);
if(tp_dev.sta&TP_PRES_DOWN) //觸摸屏被按下
{
if(60<tp_dev.x[0]&&tp_dev.x[0]<170&&60<tp_dev.y[0]&&tp_dev.y[0]<120)//button1區域被按下
{
flag=1;
i1++;
}
else if(60<tp_dev.x[0]&&tp_dev.x[0]<170&&180<tp_dev.y[0]&&tp_dev.y[0]<240);//button2區域被按下
{
flag=2;
i2++;
}
}
else flag=0;
return flag;
}
int main(void)
{
u8 flag1;
NVIC_Configuration();
delay_init(); //延時函數初始化
uart_init(9600); //串口初始化為9600
LED_Init(); //初始化與LED連接的硬件接口
LCD_Init(); //初始化LCD
KEY_Init(); //按鍵初始化
tp_dev.init(); //觸摸屏初始化
BACK_COLOR=WHITE; //設置背景色為白色
POINT_COLOR=RED;//設置字體為紅色
LED0=0;
LED1=0;
while(1)
{
windows1();
flag1=touch_scan();
switch(flag1)
{
case 1: LED0=~LED0;delay_ms(1000);break;
case 2: LED1=~LED1;delay_ms(1000);break;
}
}
}
|