标题:
关于正点原子mini stm32开发板的2.8寸电阻触摸屏,纠结很长时间了
[打印本页]
作者:
探路
时间:
2018-9-17 18:49
标题:
关于正点原子mini stm32开发板的2.8寸电阻触摸屏,纠结很长时间了
关于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;
}
}
}
作者:
wh1753
时间:
2018-9-17 19:22
楼主搞定了吗?
作者:
探路
时间:
2018-12-1 20:20
wh1753 发表于 2018-9-17 19:22
楼主搞定了吗?
还不是很完美,就是c语言的、while,与break语句用错了,你又好的方法,分享分享呗!
作者:
111往往
时间:
2020-8-26 15:34
else if(60<tp_dev.x[0]&&tp_dev.x[0]<170&&180<tp_dev.y[0]&&tp_dev.y[0]<240);//button2区域被按下
这里多个分号
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1