完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,我在ucosii 上进行ucgui移植,驱动芯片为GT811,触摸后屏幕没反应。int GUI_TOUCH_X_MeasureX(void){
GT811_Scan(); if(ctp_dev.tpsta&0X1F) { return ctp_dev.x[0]; }else return 0XFFFF; } int GUI_TOUCH_X_MeasureY(void) { GT811_Scan(); if(ctp_dev.tpsta&0X1F) { return ctp_dev.y[0]; }else return 0XFFFF; } void GT811_Scan(void) { u8 buf[34]; if((ctp_dev.tpsta&0X80)==0)return;//ctp_dev.tpsta的初始值为0 GT811_RD_Reg(CT_READ_XY_REG,buf,34);//读取坐标寄存器,CT_READ_XY_REG地址为0x721,是触控点标志寄存器 ctp_dev.tpsta=buf[0]&0X1F; //触摸点状态在后五位中 #if CT_EXCHG_XY==1 //触控屏大小800*480 ctp_dev.y[0]=(( u16)buf[2]<<8)+buf[3]; //Touch point 1 coordinates ctp_dev.x[0]=(( u16)buf[4]<<8)+buf[5]; ctp_dev.ppr[0]=buf[6]; //触摸压力 ctp_dev.y[1]=(( u16)buf[7]<<8)+buf[8]; //Touch point 2 coordinates ctp_dev.x[1]=(( u16)buf[9]<<8)+buf[10]; ctp_dev.ppr[1]=buf[11]; ctp_dev.y[2]=(( u16)buf[12]<<8)+buf[13];//Touch point 3 coordinates ctp_dev.x[2]=(( u16)buf[14]<<8)+buf[15]; ctp_dev.ppr[2]=buf[16]; ctp_dev.y[3]=(( u16)buf[17]<<8)+buf[24];//Touch point 4 coordinates ctp_dev.x[3]=(( u16)buf[25]<<8)+buf[26]; ctp_dev.ppr[3]=buf[27]; ctp_dev.y[4]=(( u16)buf[28]<<8)+buf[29];//Touch point 5 coordinates ctp_dev.x[4]=(( u16)buf[30]<<8)+buf[31]; ctp_dev.ppr[4]=buf[32]; #else ctp_dev.y[0]=(( u16)buf[2]<<8)+buf[3]; //Touch point 1 coordinates ctp_dev.x[0]=800-((( u16)buf[4]<<8)+buf[5]); ctp_dev.ppr[0]=buf[6]; ctp_dev.y[1]=(( u16)buf[7]<<8)+buf[8]; //Touch point 2 coordinates ctp_dev.x[1]=800-((( u16)buf[9]<<8)+buf[10]); ctp_dev.ppr[1]=buf[11]; ctp_dev.y[2]=(( u16)buf[12]<<8)+buf[13]; //Touch point 3 coordinates ctp_dev.x[2]=800-((( u16)buf[14]<<8)+buf[15]); ctp_dev.ppr[2]=buf[16]; ctp_dev.y[3]=(( u16)buf[17]<<8)+buf[24]; //Touch point 4 coordinates ctp_dev.x[3]=800-((( u16)buf[25]<<8)+buf[26]); ctp_dev.ppr[3]=buf[27]; ctp_dev.y[4]=(( u16)buf[28]<<8)+buf[29]; //Touch point 5 coordinates ctp_dev.x[4]=800-((( u16)buf[30]<<8)+buf[31]); ctp_dev.ppr[4]=buf[32]; #endif } |
|
相关推荐
8个回答
|
|
GUITouchConf.h为:
#define GUI_TOUCH_AD_LEFT 0 #define GUI_TOUCH_AD_RIGHT 800 #define GUI_TOUCH_AD_TOP 0 #define GUI_TOUCH_AD_BOTTOM 480 #define GUI_TOUCH_SWAP_XY 0 #define GUI_TOUCH_MIRROR_X 0 #define GUI_TOUCH_MIRROR_Y 0 |
|
|
|
周期性的调用函数GUI_TOUCH_X_MeasureX()和GUI_TOUCH_X_MeasureY(),然后串口输出看一下,X,Y的值是否正常
|
|
|
|
我遇到了和你同样的问题,我也在做一个基于ucos+ucgui 的项目,触摸控制器也是GT811,能留个联系方式一起交流吗?本人qq是1067390546
|
|
|
|
试了,没反应
|
|
|
|
那就是你的整个触摸初始化都是有问题的
|
|
|
|
调用GUI_TOUCH_X_MeasureX()和GUI_TOUCH_X_MeasureY()有坐标输出,可是显示初始化失败,属于什么呢?
|
|
|
|
调用GUI_TOUCH_X_MeasureX()和GUI_TOUCH_X_MeasureY()有坐标输出,可是显示初始化失败,属于什么呢?
|
|
|
|
问题已解决,没有调用GUI_TOUCH_Exec()。
|
|
|
|
只有小组成员才能发言,加入小组>>
820 浏览 0 评论
1162 浏览 1 评论
2537 浏览 5 评论
2872 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2722 浏览 6 评论
keil5中manage run-time environment怎么是灰色,不可以操作吗?
1127浏览 3评论
199浏览 2评论
466浏览 2评论
382浏览 2评论
M0518 PWM的电压输出只有2V左右,没有3.3V是怎么回事?
464浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-31 06:00 , Processed in 1.705584 second(s), Total 94, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号