这段代码是触摸屏校准代码,主要功能是获取触摸屏的四个校准参数,即'xfac'、'xoff'、'yfac'、'yoff'。其中,校准点参数是事先给定的,存储在'TP_ADJDIS_TBL'数组中;校准距离计算表用于计算三组点的距离是否在允许范围内。

整个校准过程中,会在屏幕上画出四个点,用户需要按照指示,在这四个点上分别点击屏幕。点击后,会将坐标值存储在'pos_temp'数组中,并判断三组点的距离是否在允许范围内,如果不合格,则重新校准;如果合格,则计算出四个校准参数,并将其保存。

校准完成后,屏幕上会显示'Touch Screen Adjust OK!',并将校准参数保存到EEPROM中。

代码详解:

  1. 校准点参数和距离计算表:

    • 'TP_ADJDIS_TBL'数组存储了三个校准点参数,每个参数对应两点的索引,用于计算三组点的距离。
  2. 获取坐标值:

    • 代码通过'tp_dev.scan(1)'函数扫描物理坐标,当用户点击屏幕时,获取坐标值并存储在'pos_temp'数组中。
  3. 距离验证:

    • 代码使用'TP_ADJDIS_TBL'数组中的索引,从'pos_temp'数组中获取三组点的坐标值,并计算两点之间的距离。
    • 通过比较计算出的距离与预期距离的比例,判断是否在允许范围内。
    • 如果距离不在允许范围内,则重新校准,否则继续执行。
  4. 计算校准参数:

    • 如果三组点的距离验证通过,则代码根据四个点坐标计算'xfac'、'xoff'、'yfac'、'yoff'参数。
  5. 参数保存:

    • 代码将计算出的四个参数保存到'tp_dev'结构体中,并显示'Touch Screen Adjust OK!'提示信息。
  6. 错误处理:

    • 代码处理了触屏方向与预设方向相反的情况,会提示用户重新校准,并修改触屏类型。

总结:

这段代码通过循环获取四个点的坐标值,并根据预设的校准点参数和距离计算表进行验证,最终计算出触摸屏的四个校准参数。整个过程清晰简洁,易于理解,并包含了错误处理机制,确保校准过程顺利完成。

触摸屏校准代码解析:获取校准参数并验证距离

原文地址: https://www.cveoy.top/t/topic/ne5j 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录