查看: 2519|回复: 0

[原创] 【正点原子号令者RT1052使用】9.RT1052之5点触摸测试

[复制链接]
  • TA的每日心情
    擦汗
    2018-8-4 22:53
  • 签到天数: 37 天

    连续签到: 2 天

    [LV.5]常住居民I

    发表于 2018-7-22 16:30:48 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 煮饺子水洗脚 于 2018-7-22 16:45 编辑

    先来看下 五点触控效果,每个点都是不同的颜色表示 IMG_20180722_162401.jpg

    触摸画笔显示
    IMG_20180722_162612.jpg

    1532248089049mz1.gif
    触摸屏初始化
    1. tp_dev.init();        
    复制代码


    /触摸屏控制器
    QQ截图20180722163527.jpg
    初始化
    QQ截图20180722163552.jpg

    触摸屏初始化 函数,
    1. u8 TP_Init(void)
    复制代码
    这个函数支持多种触摸:
    4.3 800*40MCU电容触摸屏
    4.3寸480*272 RGB屏
    SSD1963 7寸屏
    7寸800*480/1024*600 RGB屏
    QQ截图20180722163842.jpg
    电容触摸屏测试函数
    1. void ctp_test(void)
    2. {
    3.         u8 t=0;
    4.         u8 i=0;                      
    5.         u16 lastpos[5][2];                //最后一次的数据
    6.         while(1)
    7.         {
    8.                 tp_dev.scan(0);
    9.                 for(t=0;t<5;t++)
    10.                 {
    11.                         if((tp_dev.sta)&(1<<t))
    12.                         {
    13.                 //printf("X坐标:%d,Y坐标:%d\r\n",tp_dev.x[0],tp_dev.y[0]);
    14.                                 if(tp_dev.x[t]<lcddev.width&&tp_dev.y[t]<lcddev.height)
    15.                                 {
    16.                                         if(lastpos[t][0]==0XFFFF)
    17.                                         {
    18.                                                 lastpos[t][0] = tp_dev.x[t];
    19.                                                 lastpos[t][1] = tp_dev.y[t];
    20.                                         }
    21.                     
    22.                                         lcd_draw_bline(lastpos[t][0],lastpos[t][1],tp_dev.x[t],tp_dev.y[t],2,POINT_COLOR_TBL[t]);//画线
    23.                                         lastpos[t][0]=tp_dev.x[t];
    24.                                         lastpos[t][1]=tp_dev.y[t];
    25.                                         if(tp_dev.x[t]>(lcddev.width-24)&&tp_dev.y[t]<20)
    26.                                         {
    27.                                                 Load_Drow_Dialog();//清除
    28.                                         }
    29.                                 }
    30.                         }else lastpos[t][0]=0XFFFF;
    31.                 }
    32.                
    33.                 delay_ms(5);i++;
    34.                 if(i%20==0)LED0_Toggle;
    35.         }       
    36. }
    复制代码



    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条



    手机版|小黑屋|与非网

    GMT+8, 2025-1-12 21:02 , Processed in 0.135537 second(s), 16 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.