OpenEdv-开源电子网

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

XPT2046触摸画板,画出来的线不正常,原子哥帮忙看看。

[复制链接]

267

主题

376

帖子

0

精华

QQ游客

积分
1079
金钱
1079
注册时间
2012-2-23
在线时间
12 小时
发表于 2013-11-17 18:52:28 | 显示全部楼层 |阅读模式



XPT2046触摸画板,画出来的线不正常,原子哥帮忙看看。最下面两条是细点画出来的线很不清晰,上面的是粗点画出来的线,液晶用的FSMC驱动,按理来说应该比mini STM32快,但效果没有miniSTM32好,请问这是哪的原因呢? 屏是400x240分辨率的。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-11-17 22:19:57 | 显示全部楼层
是你采集触摸屏的速度慢了吧。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

267

主题

376

帖子

0

精华

QQ游客

积分
1079
金钱
1079
注册时间
2012-2-23
在线时间
12 小时
 楼主| 发表于 2013-11-17 22:56:49 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
STM32F103ZET6  72M应该不慢了吧
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2013-11-18 08:37:49 | 显示全部楼层
回复【3楼】xujiangyu0619:
---------------------------------
你读取XPT的速度慢了
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

267

主题

376

帖子

0

精华

QQ游客

积分
1079
金钱
1079
注册时间
2012-2-23
在线时间
12 小时
 楼主| 发表于 2013-11-18 09:44:31 | 显示全部楼层
回复【4楼】Badu_Space:
---------------------------------
72M的STM32F103ZET6,原子哥的驱动,怎么会慢呢?
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2013-11-18 11:02:07 | 显示全部楼层
回复【5楼】xujiangyu0619:
---------------------------------
不是说你MCU的频率有多块,而是说你每次读取XPT的时间太长了,这次读完,等比较长的时间才第二次读取XPT,造成慢的现象,晕
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

267

主题

376

帖子

0

精华

QQ游客

积分
1079
金钱
1079
注册时间
2012-2-23
在线时间
12 小时
 楼主| 发表于 2013-11-18 11:12:22 | 显示全部楼层
回复【6楼】Badu_Space:
---------------------------------
我用的原子哥的程序,除LCD驱动不同外,其他都基本一样的啊。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-11-18 14:40:45 | 显示全部楼层
回复【7楼】xujiangyu0619:
---------------------------------
你可以写个代码测试下你的读取时间.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

267

主题

376

帖子

0

精华

QQ游客

积分
1079
金钱
1079
注册时间
2012-2-23
在线时间
12 小时
 楼主| 发表于 2013-11-18 22:31:17 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
在线调试读到执行一次Convert_Pos()函数的时间为0.0054848s,这个正常吗?
回复 支持 反对

使用道具 举报

267

主题

376

帖子

0

精华

QQ游客

积分
1079
金钱
1079
注册时间
2012-2-23
在线时间
12 小时
 楼主| 发表于 2013-11-18 23:00:50 | 显示全部楼层
回复【8楼】正点原子:
---------------------------------
MINISTM32上的触摸屏例程,在屏上画一下后DS0就不闪了,即使不再屏画DS0也不会闪,只有当点RST后,DS0又开始闪,程序好像不是这么个意思啊,没看明白怎么就不闪了。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-11-19 10:52:56 | 显示全部楼层
回复【10楼】xujiangyu0619:
---------------------------------
是因为while,判断那个PEN,有问题。
这个问题不知道怎么解决。。。诡异的很。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

267

主题

376

帖子

0

精华

QQ游客

积分
1079
金钱
1079
注册时间
2012-2-23
在线时间
12 小时
 楼主| 发表于 2013-11-19 11:11:10 | 显示全部楼层
回复【11楼】正点原子:
---------------------------------
是和硬件有关系??
对了,我的触摸屏问题还是没有解决啊!!!程序和ministm32上的一样了,还是不行。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-11-19 11:16:34 | 显示全部楼层
回复【12楼】xujiangyu0619:
---------------------------------
但是mini板上很好使哦。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

267

主题

376

帖子

0

精华

QQ游客

积分
1079
金钱
1079
注册时间
2012-2-23
在线时间
12 小时
 楼主| 发表于 2013-11-19 11:44:59 | 显示全部楼层
回复【13楼】正点原子:

回复【12楼】xujiangyu0619:
---------------------------------
但是mini板上很好使哦。

---------------------------------
是啊,我就没明白到底哪儿出问题了,不会是触摸屏质量问题吧?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-11-19 14:34:27 | 显示全部楼层
你最好测试下,你每秒钟,可以从XPT2046读取多少次。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

46

主题

1579

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1970
金钱
1970
注册时间
2011-7-17
在线时间
4 小时
发表于 2013-11-19 14:48:28 | 显示全部楼层
回复【11楼】正点原子:
---------------------------------
不是while判断pen有问题,是XPT芯片本来的问题,人家官方弄一个pen中断是让用户可以通过这个中断知道笔按下了,但在芯片内转换ADC的时候,pen信号是不会有任何变化的,所以XPT芯片上就多了一个IRQ信号来解决此问题,pen判断,只是判断是否有笔按下了,如果你一直狂读数据,不给XPT时间响应,PEN是永远不会弹起来的,所以,推荐判断是否有笔按下的话,推荐读IRQ信号效果会比较好,如果用了ucos的话,就更好办了,不用管pen信号,管你有没有按下,就在操作系统上一直读即可,当读到数据为0,0的时候并且保持不变1秒以上,软件自动认为笔没按下,这样方便很多。
Time?And?Relative?Dimension?In?Space.
回复 支持 反对

使用道具 举报

46

主题

1579

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1970
金钱
1970
注册时间
2011-7-17
在线时间
4 小时
发表于 2013-11-19 14:49:51 | 显示全部楼层
回复【15楼】正点原子:
---------------------------------
推荐楼主先测试,每次转换结果后,PEN会死多久,知道pen会死多久,那程序就好办了。
Time?And?Relative?Dimension?In?Space.
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-11-19 14:54:03 | 显示全部楼层
XPT还有IRQ脚???我只看到有一个PEN脚啊。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

267

主题

376

帖子

0

精华

QQ游客

积分
1079
金钱
1079
注册时间
2012-2-23
在线时间
12 小时
 楼主| 发表于 2013-11-19 15:56:02 | 显示全部楼层
回复【16楼】Tardis:
---------------------------------
不是在狂读数据啊,先点一下,DS0就不闪了,而且此时按KEY0强制校准也没反应,此时并没有点触摸屏,只有当点清除后,DS0又开始正常闪了,KEY0也能响应了。
回复 支持 反对

使用道具 举报

267

主题

376

帖子

0

精华

QQ游客

积分
1079
金钱
1079
注册时间
2012-2-23
在线时间
12 小时
 楼主| 发表于 2013-11-19 15:56:42 | 显示全部楼层
回复【15楼】正点原子:

你最好测试下,你每秒钟,可以从XPT2046读取多少次。

---------------------------------
好勒,晚上回去试试。
回复 支持 反对

使用道具 举报

267

主题

376

帖子

0

精华

QQ游客

积分
1079
金钱
1079
注册时间
2012-2-23
在线时间
12 小时
 楼主| 发表于 2013-11-19 15:57:14 | 显示全部楼层
回复【15楼】正点原子:

你最好测试下,你每秒钟,可以从XPT2046读取多少次。

---------------------------------
那1s读多少次算正常的啊?
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-11-19 17:27:43 | 显示全部楼层
这我也没测试过,几百次吧,呵呵
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-11-19 17:28:25 | 显示全部楼层
你算算,你一秒钟能滑多远?然后屏幕是320*240的像素。如果要连续,至少不能分开几个像素,才显示一个点吧?
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

267

主题

376

帖子

0

精华

QQ游客

积分
1079
金钱
1079
注册时间
2012-2-23
在线时间
12 小时
 楼主| 发表于 2013-11-19 20:56:28 | 显示全部楼层
回复【22楼】正点原子:

这我也没测试过,几百次吧,呵呵

---------------------------------
Convert_Pos()这个函数,1s执行1244次呢
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165524
金钱
165524
注册时间
2010-12-1
在线时间
2116 小时
发表于 2013-11-19 22:55:49 | 显示全部楼层
那应该很连续才对啊.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

46

主题

1579

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1970
金钱
1970
注册时间
2011-7-17
在线时间
4 小时
发表于 2013-11-20 08:57:20 | 显示全部楼层
回复【18楼】正点原子:
---------------------------------
说错了,应该是BUSY脚
Time?And?Relative?Dimension?In?Space.
回复 支持 反对

使用道具 举报

46

主题

1579

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1970
金钱
1970
注册时间
2011-7-17
在线时间
4 小时
发表于 2013-11-20 08:58:16 | 显示全部楼层
回复【19楼】xujiangyu0619:
---------------------------------
那程序中的主循环肯定在狂读数据
Time?And?Relative?Dimension?In?Space.
回复 支持 反对

使用道具 举报

46

主题

1579

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1970
金钱
1970
注册时间
2011-7-17
在线时间
4 小时
发表于 2013-11-20 09:01:12 | 显示全部楼层
楼主,你或者试试,用惯性导航原则,画图画线的时候,先读第一个个点,再读第二个点,两点画线,这样可以解决XPT有时候没有相应的问题,这个原理借鉴汽车导航上的那个惯性导航功能,即使没有了信号数据,也会根据之前的方向估算运动的距离,你也可以用在这里啊,就两点画线,这样虽然画的快的时候曲线有棱角,但也比不连续好一点。
Time?And?Relative?Dimension?In?Space.
回复 支持 反对

使用道具 举报

267

主题

376

帖子

0

精华

QQ游客

积分
1079
金钱
1079
注册时间
2012-2-23
在线时间
12 小时
 楼主| 发表于 2013-11-20 12:28:35 | 显示全部楼层
昨天又各种试验,还是没搞出来,都有点崩溃了。已经没招了。
回复 支持 反对

使用道具 举报

4

主题

38

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
339
金钱
339
注册时间
2016-8-12
在线时间
86 小时
发表于 2018-5-9 10:16:08 | 显示全部楼层
为什么我做出来不是线性的
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 02:37

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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