野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7951|回复: 0

XPT2046获取真实坐标错误,求解惑

[复制链接]
发表于 2022-2-12 17:25:05 | 显示全部楼层 |阅读模式
从ILI9341的显示来看,屏幕的(0,0)点在左上角,但通过XPT2046_COORD_2_8函数的反馈来看(0,0)点坐标在左下角,因此想询问一下这个函数是否正确。求各位大佬帮忙!
  1. COORD XPT2046_COORD_2_8(void)
  2. {
  3. COORD coordinate;
  4. uint16_t adc_x,adc_y,i;
  5. uint16_t sum_x=0,sum_y=0;
  6. uint16_t ave_x,ave_y;
  7. for(i=0;i<CHECK;i++)       
  8.         {
  9.                 if(XPT2046_SPI_INT()==0)
  10. printf("触摸\n");//测试
  11.                 /************************/
  12.                 //求x,y方向上的adc数据
  13.         adc_x=XPT2046_Rread_adc(XPT2046_CHANEL_X);
  14.         adc_y=XPT2046_Rread_adc(XPT2046_CHANEL_Y);
  15.        
  16.                 sum_x+=adc_x;
  17.             sum_y+=adc_y;
  18.         }
  19.         ave_x=sum_x/CHECK;
  20.         ave_y=sum_y/CHECK;
  21.        
  22.         //求XY的坐标
  23. coordinate.x=ave_x*X_LENGTH/ADC_MAX;
  24. coordinate.y=ave_y*Y_LENGTH/ADC_MAX;
  25.        
  26. printf("x:%d,y:%d\n",coordinate.x,coordinate.y);        //测试
  27.         return coordinate;
  28. }
复制代码
相关宏XPT2046_CHANEL_X         0xd0
XPT2046_CHANEL_Y        0x90

X_LENGTH      240
Y_LENGTH       320
ADC_MAX        4096
CHECK            10

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 05:07 , Processed in 0.060012 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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