zoukankan      html  css  js  c++  java
  • 触摸屏移植Emwin

    1.时间配置程序GUI_X.c中包含触摸屏程序touch.h头文件

    2.添加以下程序:

    //准备 X 轴测量-----------里面不需要加东西,只要存在就会自动进行测量
    void GUI_TOUCH_X_ActivateX(void)
    {
    }
    //准备 Y 轴测量
    void GUI_TOUCH_X_ActivateY(void)
    {
    }
    //返回 A/D 转换器的 X 轴测量结果
    int GUI_TOUCH_X_MeasureX(void)
    {
    Touch_GetLCDXY();
    return touch.xpos;
    }
    //返回 A/D 转换器的 Y 轴测量结果
    int GUI_TOUCH_X_MeasureY(void)
    {
    Touch_GetLCDXY();
    return touch.ypos;
    }

    3.触摸屏touch.c中写入一个函数,返回坐标值

    //触摸屏坐标值转换成LCD屏坐标值
    void Touch_GetLCDXY(void)
    {
    if(T_PEN == 0)//如果按键触摸按下
    {
    if(TP_ADGet())//获取触摸屏坐标值
    {
    //转化成LCD屏坐标值
    touch.xpos = (u16)((double)touch.A/touch.K*touch.ad_xvalue + (double)touch.B/touch.K*touch.ad_yvalue+(double)touch.C/touch.K+0.5f);
    touch.ypos = (u16)((double)touch.D/touch.K*touch.ad_xvalue + (double)touch.E/touch.K*touch.ad_yvalue+(double)touch.F/touch.K+0.5f);
    return;
    }
    }
    touch.xpos = 0xffff; //失败
    touch.ypos = 0xffff;
    }

    4.在

     5.使用时间片实现校准(主函数while里)

    if(touchrun[0]>touchrun[1])
    {
    GUI_TOUCH_Exec();
    GUI_TOUCH_Exec();
    touchrun[0] =0;
    }

    6.刷新窗口
    if(guiupdata[0] >guiupdata[1])
    {
    GUI_Exec();//刷新窗口
    guiupdata[0] =0;
    }

    7.检测触摸是否可用,可以进行光标显示 GUI_CURSOR_Show();

  • 相关阅读:
    简单 dp 题选做
    UVa11327
    Codeforces Round #641 (div.2) 题解
    新博客
    数位dp的学习
    stl粗略用法
    cf437C The Child and Toy
    poj1995 Raising Modulo Numbers
    Tarjan的学习
    最短路模板
  • 原文地址:https://www.cnblogs.com/juan-4-14/p/12927190.html
Copyright © 2011-2022 走看看