求一个显控触摸屏案例程序 点击:5296 | 回复:10



飞行员

    
  • 精华:0帖
  • 求助:2帖
  • 帖子:6帖 | 26回
  • 年度积分:0
  • 历史总积分:1056
  • 注册:2016年9月20日
发表于:2016-10-10 14:30:01
楼主

没分求一个好一点的显控触摸屏程序,谢谢大家




xiaoshitou11

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 14回
  • 年度积分:0
  • 历史总积分:9
  • 注册:2016年10月10日
发表于:2016-10-10 15:46:16
1楼

期待着。。。。。。。。。。。。。。。。。

欣动

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 14回
  • 年度积分:0
  • 历史总积分:10
  • 注册:2005年8月25日
发表于:2016-10-11 12:17:28
2楼

期待着。。。。。。。。。。。。。。。。。


时木

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 4回
  • 年度积分:0
  • 历史总积分:2
  • 注册:2016年10月11日
发表于:2016-10-11 22:48:28
3楼

 //5个触控点的颜色(电容触摸屏用)            
const u16 POINT_COLOR_TBL[OTT_MAX_TOUCH]={RED,GREEN,BLUE,BROWN,GRED}; 
//电阻触摸屏测试函数
void rtp_test(void)
{
 u8 key;
 u8 i=0;  
 while(1)
 {
   key=KEY_Scan(0);
  tp_dev.scan(0);   
  if(tp_dev.sta&TP_PRES_DOWN)   //触摸屏被按下
  { 
    if(tp_dev.x[0]<lcddev.width&&tp_dev.y[0]<lcddev.height)
   { 
    if(tp_dev.x[0]>(lcddev.width-24)&&tp_dev.y[0]<16)Load_Drow_Dialog();//清除
    else TP_Draw_Big_Point(tp_dev.x[0],tp_dev.y[0],RED);  //画图        
   }
  }else delay_ms(10); //没有按键按下的时候     
  if(key==KEY0_PRES) //KEY0按下,则执行校准程序
  {
   LCD_Clear(WHITE); //清屏
      TP_Adjust();    //屏幕校准
   TP_Save_Adjdata(); 
   Load_Drow_Dialog();
  }
  i++;
  if(i%20==0)LED0=!LED0;
 }
}
//电容触摸屏测试函数
void ctp_test(void)
{
 u8 t=0;
 u8 i=0;       
  u16 lastpos[5][2];  //最后一次的数据
 while(1)
 {
  tp_dev.scan(0);
  for(t=0;t<OTT_MAX_TOUCH;t++)
  {
   if((tp_dev.sta)&(1<<t))
   {
    if(tp_dev.x[t]<lcddev.width&&tp_dev.y[t]<lcddev.height)
    {
     if(lastpos[t][0]==0XFFFF)
     {
      lastpos[t][0] = tp_dev.x[t];
      lastpos[t][1] = tp_dev.y[t];
     }
     lcd_draw_bline(lastpos[t][0],lastpos[t][1],tp_dev.x[t],tp_dev.y[t],2,POINT_COLOR_TBL[t]);//画线
     lastpos[t][0]=tp_dev.x[t];
     lastpos[t][1]=tp_dev.y[t];
     if(tp_dev.x[t]>(lcddev.width-24)&&tp_dev.y[t]<20)
     {
      Load_Drow_Dialog();//清除
     }
    }
   }else lastpos[t][0]=0XFFFF;
  }
  
  delay_ms(5);i++;
  if(i%20==0)LED0=!LED0;
 } 
}
 
int main(void)
{

 NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2
 delay_init(168);  //初始化延时函数
 uart_init(115200);  //初始化串口波特率为115200
 
 LED_Init();     //初始化LED
  LCD_Init();     //LCD初始化
 KEY_Init();     //按键初始化 
 tp_dev.init();    //触摸屏初始化
  POINT_COLOR=RED;//设置字体为红色
 LCD_ShowString(30,50,200,16,16,"Explorer STM32F4"); 
 LCD_ShowString(30,70,200,16,16,"TOUCH TEST"); 
 LCD_ShowString(30,90,200,16,16,"nihao");
 LCD_ShowString(30,110,200,16,16,"2014/5/7");
    if(tp_dev.touchtype!=0XFF)LCD_ShowString(30,130,200,16,16,"Press KEY0 to Adjust");//电阻屏才显示
 delay_ms(1500);
  Load_Drow_Dialog();   
 
 if(tp_dev.touchtype&0X80)ctp_test();//电容屏测试
 else rtp_test();      //电阻屏测试
}

显控粉丝

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 14回
  • 年度积分:0
  • 历史总积分:16
  • 注册:2015年11月17日
发表于:2016-11-08 11:34:53
4楼

来,找我们买显控触摸屏,送你一个案列。。。

yufandehao

  • 精华:0帖
  • 求助:1帖
  • 帖子:3帖 | 4回
  • 年度积分:0
  • 历史总积分:27
  • 注册:2016年8月11日
发表于:2016-11-25 22:25:15
5楼

哈哈发带头人的广泛宣传部VC 

1109654096@qq.com

  • 精华:0帖
  • 求助:0帖
  • 帖子:3帖 | 37回
  • 年度积分:0
  • 历史总积分:1277
  • 注册:2016年3月08日
发表于:2017-03-31 18:26:25
6楼


回复内容:

对: 显控粉丝 来,找我们买显控触摸屏,送你一个案列。。。 内容的回复!

给我来个我买你们的产品啊哈哈

Hobby

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 52回
  • 年度积分:0
  • 历史总积分:101
  • 注册:2018年11月20日
发表于:2018-11-20 13:46:03
7楼

新手学习中,有没有高手传一个

majinhua6

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 13回
  • 年度积分:0
  • 历史总积分:119
  • 注册:2019年3月13日
发表于:2019-05-13 21:03:42
8楼

建瓯大发了旅客们赶快

漂泊赵13673717156

  • 精华:0帖
  • 求助:0帖
  • 帖子:5帖 | 24回
  • 年度积分:0
  • 历史总积分:291
  • 注册:2019年4月26日
发表于:2019-12-29 11:16:32
9楼


回复内容:

对: 时木  //5个触控点的颜色(电容触摸屏用)        ... 内容的回复!

-------------------------

这是个高手

periwoo

  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 19回
  • 年度积分:0
  • 历史总积分:79
  • 注册:2020年1月20日
发表于:2020-01-20 12:37:52
10楼

小弟虽然年纪大,但是却初入行。


谢谢分享,希望以后自己也能有技术和经验可以分享给大家。


请教一下大家,AKWorkshop和Modbus软件在那里可以下载 ?



热门招聘
相关主题

官方公众号

智造工程师