OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4495|回复: 0

4.3寸触摸屏长按识别的问题

[复制链接]

15

主题

52

帖子

1

精华

初级会员

Rank: 2

积分
92
金钱
92
注册时间
2015-1-21
在线时间
14 小时
发表于 2015-3-15 00:29:09 | 显示全部楼层 |阅读模式
5金钱
最近在调4.3的触摸屏,我写的程序想实现当按下按钮时,被按下的那一块区域变黑,然后返回一个值进行处理。但下载上测试时按下去以后黑色区域就会在闪,但我想让他识别出长按的这种状态,试了几个思路都不好使,求助一下应该如何解决,这是我的触摸屏程序代码

[mw_shl_code=c,true]u8 GUI_TOUCH_DISP(void) { u8 t=0; tp_dev.scan(0); if(tp_dev.sta&TP_PRES_DOWN)//??????·??????????? { if(tp_dev.x[0]>=356&&tp_dev.x[0]<=416&&tp_dev.y[0]>=252&&tp_dev.y[0]<=274) //I-V { while(PEN==0) { LCD_Fill(356,252,416,274,BLACK); } LCD_Fill(356,252,416,274,0XF79E); Show_Str(378,260,240,12,"I-V",12,1); return 1; } else if(tp_dev.x[0]>=356&&tp_dev.x[0]<=416&&tp_dev.y[0]>=288&&tp_dev.y[0]<=310) //R-P { while(PEN==0) { LCD_Fill(356,288,416,310,BLACK); } LCD_Fill(356,288,416,310,0XF79E); Show_Str(378,295,240,12,"R-P",12,1); return 2; } else if(tp_dev.x[0]>=356&&tp_dev.x[0]<=416&&tp_dev.y[0]>=324&&tp_dev.y[0]<=346) //L-MV { while(PEN==0) { LCD_Fill(356,324,416,346,BLACK); } LCD_Fill(356,324,416,346,0XF79E); Show_Str(374,331,240,12,"L-MV",12,1); return 3; } else if(tp_dev.x[0]>=356&&tp_dev.x[0]<=416&&tp_dev.y[0]>=360&&tp_dev.y[0]<=382) //L-MC { while(PEN==0) { LCD_Fill(356,360,416,382,BLACK); } LCD_Fill(356,360,416,382,0XF79E); Show_Str(374,368,240,12,"L-MC",12,1); return 4; } else if(tp_dev.x[0]>=356&&tp_dev.x[0]<=416&&tp_dev.y[0]>=396&&tp_dev.y[0]<=418) //MC-MV { while(PEN==0) { LCD_Fill(356,396,416,418,BLACK); } LCD_Fill(356,396,416,418,0XF79E); Show_Str(371,404,240,12,"MC-MV",12,1); return 5; } else if(tp_dev.x[0]>=452&&tp_dev.x[0]<=535&&tp_dev.y[0]>=397&&tp_dev.y[0]<=419) //???? { while(PEN==0) { LCD_Fill(452,397,535,419,BLACK); } LCD_Fill(452,397,535,419,0XF79E); Show_Str(483,401,240,12,"????",12,1); return 6; } else if(tp_dev.x[0]>=452&&tp_dev.x[0]<=535&&tp_dev.y[0]>=324&&tp_dev.y[0]<=346) //???? { while(PEN==0) { LCD_Fill(452,324,535,346,BLACK); } LCD_Fill(452,324,535,346,0XF79E); Show_Str(483,331,240,12,"????",12,1); return 7; } else if(tp_dev.x[0]>=452&&tp_dev.x[0]<=535&&tp_dev.y[0]>=252&&tp_dev.y[0]<=274) //??·? { while(PEN==0) { LCD_Fill(452,252,535,274,BLACK); } LCD_Fill(452,252,535,274,0XF79E); Show_Str(482,259,240,12,"??·?",12,1); return 8; } else if(tp_dev.x[0]>=593&&tp_dev.x[0]<=660&&tp_dev.y[0]>=300&&tp_dev.y[0]<=322) //???? { while(PEN==0) { LCD_Fill(593,300,660,322,BLACK); } LCD_Fill(593,300,660,322,0XF79E); Show_Str(615,306,240,12,"????",12,1); return 9; } else if(tp_dev.x[0]>=712&&tp_dev.x[0]<=780&&tp_dev.y[0]>=49&&tp_dev.y[0]<=73) //???? { while(PEN==0) { LCD_Fill(712,49,780,73,BLACK); } LCD_Fill(712,49,780,73,0XF79E); Show_Str(731,57,240,12,"????",12,1); return 10; } else if(tp_dev.x[0]>=717&&tp_dev.x[0]<=772&&tp_dev.y[0]>=91&&tp_dev.y[0]<=112) //???????? { while(PEN==0) { LCD_Fill(717,91,772,112,BLACK); } LCD_Fill(717,91,772,112,0XF79E); Show_Str(722,97,240,12,"????????",12,1); return 11; } else if(tp_dev.x[0]>=717&&tp_dev.x[0]<=772&&tp_dev.y[0]>=133&&tp_dev.y[0]<=154) //???? { while(PEN==0) { LCD_Fill(717,133,772,154,BLACK); } LCD_Fill(717,133,772,154,0XF79E); Show_Str(730,138,240,12,"????",12,1); return 12; } else if(tp_dev.x[0]>=717&&tp_dev.x[0]<=772&&tp_dev.y[0]>=181&&tp_dev.y[0]<=202) //????±?·? { while(PEN==0) { LCD_Fill(717,181,772,202,BLACK); } LCD_Fill(717,181,772,202,0XF79E); Show_Str(722,186,240,12,"????±?·?",12,1); return 13; } else if(tp_dev.x[0]>=717&&tp_dev.x[0]<=772&&tp_dev.y[0]>=222&&tp_dev.y[0]<=244) //????×??? { while(PEN==0) { LCD_Fill(717,222,772,244,BLACK); } LCD_Fill(717,222,772,244,0XF79E); Show_Str(722,229,240,12,"????×???",12,1); return 14; } else if(tp_dev.x[0]>=717&&tp_dev.x[0]<=772&&tp_dev.y[0]>=264&&tp_dev.y[0]<=286) //?á??×??? { while(PEN==0) { LCD_Fill(717,264,772,286,BLACK); } LCD_Fill(717,264,772,286,0XF79E); Show_Str(722,270,240,12,"?á??×???",12,1); return 15; } else if(tp_dev.x[0]>=712&&tp_dev.x[0]<=777&&tp_dev.y[0]>=306&&tp_dev.y[0]<=328) //?á?? { while(PEN==0) { LCD_Fill(712,306,777,328,BLACK); } LCD_Fill(712,306,777,328,0XF79E); Show_Str(733,312,240,12,"?á??",12,1); return 16; } else return 0; delay_ms(5); } [/mw_shl_code]

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-25 05:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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