找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2511|回复: 3
打印 上一主题 下一主题
收起左侧

关于正点原子mini stm32开发板的2.8寸电阻触摸屏,纠结很长时间了

[复制链接]
回帖奖励 2 黑币 回复本帖可获得 1 黑币奖励! 每人限 1 次(中奖概率 60%)
跳转到指定楼层
楼主
ID:229016 发表于 2018-9-17 18:49 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
关于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;
   
   }

  }
}


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:340037 发表于 2018-9-17 19:22 | 只看该作者
楼主搞定了吗?
回复

使用道具 举报

板凳
ID:229016 发表于 2018-12-1 20:20 | 只看该作者
wh1753 发表于 2018-9-17 19:22
楼主搞定了吗?

还不是很完美,就是c语言的、while,与break语句用错了,你又好的方法,分享分享呗!
回复

使用道具 举报

地板
ID:744471 发表于 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区域被按下
这里多个分号
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表