OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 7380|回复: 6

触屏横屏显示问题<求助>

[复制链接]

10

主题

86

帖子

2

精华

中级会员

Rank: 3Rank: 3

积分
494
金钱
494
注册时间
2012-2-11
在线时间
9 小时
发表于 2013-1-10 21:51:57 | 显示全部楼层 |阅读模式

如题,原子哥我在学习你写的触屏程序,默认竖屏可以正常运行,可是如果我把液晶屏设为横屏显示,这就问题来了:

一、触屏校准不准;
二、就算校准进去,手写漂移很厉害;

我以为下面可以支持横屏,可是结果不是如我愿~

//新增的参数,当触摸屏的左右上下完全颠倒时需要用到.
//touchtype=0的时候,适合左右为X坐标,上下为Y坐标的TP.
//touchtype=1的时候,适合左右为Y坐标,上下为X坐标的TP.
   u8 touchtype;


      en_Point.touchtype=!Pen_Point.touchtype;//修改触屏类型.
      if(Pen_Point.touchtype)//X,Y方向与屏幕相反
      {
       CMD_RDX=0X90;
       CMD_RDY=0XD0; 
      }else       //X,Y方向与屏幕相同
      {
       CMD_RDX=0XD0;
       CMD_RDY=0X90; 
      }

经我实测上面是防止屏幕方向相反,而不是支持横屏,所以我就自己想改出支持横屏,可是头脑不好用,就到论坛找资料,可是没找到,
所以在这想问问原子哥和各位朋友大家有木有好的建议和方法,指点一二


多努力一点点,少遗憾一点点!!!
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-1-10 22:05:11 | 显示全部楼层
修改为横屏,重新校准一下,应该就可以了。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

10

主题

86

帖子

2

精华

中级会员

Rank: 3Rank: 3

积分
494
金钱
494
注册时间
2012-2-11
在线时间
9 小时
 楼主| 发表于 2013-1-10 22:11:34 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
原子哥我用的是Mini板,液晶是2.8寸的,直接用你的触屏程序就是不能支持横屏,不知道这是什么原因。。。
多努力一点点,少遗憾一点点!!!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-1-11 11:06:30 | 显示全部楼层
 战舰板的触摸屏实验,只需要把LCD_Init里面的竖屏改为横屏,然后校准2次,及实现横屏触摸。下面是我改好了并测试通过的代码。

实验26 触摸屏实验—横屏.rar

144.49 KB, 下载次数: 237

我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

10

主题

86

帖子

2

精华

中级会员

Rank: 3Rank: 3

积分
494
金钱
494
注册时间
2012-2-11
在线时间
9 小时
 楼主| 发表于 2013-1-11 14:57:26 | 显示全部楼层
回复【4楼】正点原子:
---------------------------------
原子哥我的设置坐标函数式这个,应该跟你说的那个差不多吧

__inline void LCD_SetCursor( u16 x, u16 y )
{
#if USE_HORIZONTAL==1 // 使用横屏
LCD_WriteREG(R32, y);   // 设置GRAM的x坐标
LCD_WriteREG(R33, 319-x); // 设置GRAM的y坐标    
#else
LCD_WriteREG( R32, x );   // 设置GRAM的x坐标
LCD_WriteREG( R33, y );   // 设置GRAM的y坐标     
#endif
}
多努力一点点,少遗憾一点点!!!
回复 支持 反对

使用道具 举报

10

主题

86

帖子

2

精华

中级会员

Rank: 3Rank: 3

积分
494
金钱
494
注册时间
2012-2-11
在线时间
9 小时
 楼主| 发表于 2013-1-11 16:05:38 | 显示全部楼层
原子哥还没解决哦,     不知道是否程序有问题,我的程序如下:

TFTLCD_TOUCH_1.zip

39.82 KB, 下载次数: 115

多努力一点点,少遗憾一点点!!!
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-1-11 16:37:35 | 显示全部楼层
 你可以看下我在3楼传的代码,在战舰板测试通过的。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-21 12:18

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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