野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 10339|回复: 3

关于st官方给的触摸屏触摸位置的算法理解?

[复制链接]
发表于 2016-3-7 14:51:15 | 显示全部楼层 |阅读模式
  1. static uint16_t IOE_TP_Read_X(void)
  2. {
  3.   int32_t x, xr;
  4.   
  5.   /* Read x value from DATA_X register */
  6.   x = I2C_ReadDataBuffer(IOE_REG_TP_DATA_X);
  7.   
  8.   /* x value first correction */
  9.   if(x <= 3000)
  10.   {
  11.   x = 3870 - x;
  12.   }
  13.   else
  14.   {
  15.    x = 3800 - x;
  16.   }
  17.   
  18.   /* x value second correction */  
  19.   xr = x / 15;
  20.   
  21.   /* return x position value */
  22.   if(xr <= 0)
  23.   {
  24.     xr = 0;
  25.   }
  26.   else if (xr > 240)
  27.   {
  28.     xr = 239;
  29.   }
  30.   else
  31.   {}
  32.   return (uint16_t)(xr);
  33. }

  34. /**
  35.   * @brief  Return Touch Panel Y position value
  36.   * @param  None
  37.   * @retval Y position.
  38.   */
  39. static uint16_t IOE_TP_Read_Y(void)
  40. {
  41.   int32_t y, yr;
  42.   
  43.   /* Read y value from DATA_Y register */
  44.   y = I2C_ReadDataBuffer(IOE_REG_TP_DATA_Y);
  45.   
  46.   /* y value first correction */

  47.   y -= 360;  
  48.   
  49.   /* y value second correction */
  50.   yr = y / 11;
  51.   
  52.   /* return y position value */
  53.   if(yr <= 0)
  54.   {
  55.     yr = 0;
  56.   }
  57.   else if (yr > 320)
  58.   {
  59.     yr = 319;
  60.   }
  61.   else
  62.   {}
  63.   return (uint16_t)(yr);
  64. }
复制代码
st官方给的触摸屏是电阻触摸屏,采用的芯片是stmpe811qtr。我自己的芯片是429的,触摸芯片也是这款,但是st官方给的读取x,y位置的函数这里,不是太理解,我想移植到我的800*480的屏幕上来,一直都没有成功,求知道的人告知,谢谢了!!!!
回复

使用道具 举报

 楼主| 发表于 2016-3-7 14:52:13 | 显示全部楼层
我相信肯定也和我一样,有想要知道的人啊!!!
回复 支持 反对

使用道具 举报

发表于 2016-3-7 15:26:31 | 显示全部楼层
官方的屏幕是320*240吧?
你直接把代码里的319和239改成479和799试试
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-3-7 16:39:24 | 显示全部楼层
flyleaf 发表于 2016-3-7 15:26
官方的屏幕是320*240吧?
你直接把代码里的319和239改成479和799试试

不对,这样根本没有解决问题,读x的位置的时候,x<=3000, x=3870-x 这里,我就迷糊了,st官方这里根本就没有写清楚是怎么来的,我看数据手册也没有这个,没办法了,之好到论坛里来问问前辈们了!!
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2025-1-26 05:01 , Processed in 0.040096 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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