完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
1、工具准备:
ART-PI开发板一块, 笔记本电脑一台, RT-Studio软件,串口助手软件,TouchGFXDesigner软件,Visual Studio2019软件 2、开发流程: 1、打开RT-Studio软件,点击新建工程,选择ART-PI开发板即可;这个步骤网上历程大把,这里我就不赘述了, 2、打开CRC校验以及DMA2D,在board-》cubeMX_config-》core-》inc-》stm32H7xx_hal_conf.h如下图所示: 3 、添加TouchGFXlib链接库,gt911触摸软件包,C++支持,打开rt_thread Settings文件即可添加 启用TouchGFX 的lib库 添加GT911触摸驱动(我的LCD屏使用的是GT911触摸芯片),当然若是使用的触摸芯片不同,也可添加对应的软件包即可, 打开IIC1(MCU与触摸芯片的通信渠道) 点击保存即可添加软件包和lib库到自己的项目工程当中(耐心等待,过程有点漫长!) 添加C++支持 3、将触摸坐标传到TouchGFX中: 打开libraries-》touchgfx_lib-》Touchgfx-》target-》STM32TouchController.cpp文件,添加TouchGFX lib的支持,默认是使用的GT9147触摸驱动的模板,这里我们只需要简单的修改即可使用。 下面这个地方是看你读取的触摸坐标与你TouchGFX的是否对应,若是相反,则使用默认的这种方式。我的并没有反,所以就是用原始的坐标数据即可 好啦,现在我们来修改里一个文件libraries-》touchgfx_lib-》Touchgfx-》App-》sample_touch.cpp这个文件 第一处跟上面的一样,还有这里第二处是导入咱们使用的GT911的头文件,在第三处我们设置设备名,第四处是将设备初始化函数注册到初始化列表中(具体的信息请查阅RTT官网文档) 到这里,基本需要改的就已经完了!但是你以为这就行了么?不不不,你会发现你下载到板子上,你的触摸坐标是反的,还有你的触摸屏可能有四分之一的位置是不能获取到坐标的,这是为什么呢?他的问题就在于GT911寄存器配置表的设置,当你去寻找这个寄存器配置表的信息,你会发现这是一个巨大的数组,当然,每个元素代表啥,你也不知道,但是这里最重要的几个地方,我会在下面讲解一下! 4、GT911触摸芯片的信息配置表解释 信息配置表长什么样呢?先来看看! 这么多,咱们只关心前七个字节, 第一个字节:配置表的版本号,X,Y轴分辨率占两个字节,第二、三个字节为x轴分辨率,第四、五字节表示Y轴分辨率,第六个字节包含触摸点个数的设置,第七个字节包含是否交换x与y的坐标 第一个字节: 配置信息表的版本号!要更新配置信息表,需要设置版本号大于之前信息表的版本号!若版本号设置为0x00则会强制更新的!具体怎么解释,请看下图: 第二、三个字节为x轴分辨率,是个16bit数据,第一个字节为数据的低8bit,第二个字节为数据的高8bit;第四、五个字节为Y轴分辨率; 第六个字节是这样解释的: 低4bit是设置触摸点的个数的,高4位默认是0即可 第七个字节 这里我们只用关心0-1bit,以及3bit是怎么设置的,0-1bit是选择触发方式,这里我使用的是中断下降沿触发,即01,第3bit是设置是否交换x,y坐标,根据自己的需求设置即可 下面附上GT911的数据手册中的讲解: 附上我自己的信息配置表数组,如果屏幕相同,应该是直接可以用的,(我这里设置的触摸分辨率是1024*600) 0x00,0x00,0x04,0x58,0x02,0x05,0x35,0x00,0x01,0x08, 0x28,0x08,0x5a,0x46,0x03,0x05,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x18,0x1a,0x1e,0x14,0x89,0x2a,0x09, 0x57,0x5c,0xb5,0x06,0x00,0x00,0x00,0x02,0x01,0x1d, 0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x46,0x82,0x94,0xc5,0x02,0x07,0x00,0x00,0x04, 0x96,0x4a,0x00,0x85,0x54,0x00,0x77,0x5f,0x00,0x6a, 0x6c,0x00,0x5f,0x7a,0x00,0x5f,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x02,0x04,0x06,0x08,0x0a,0x0c,0x10,0x12, 0x14,0xff,0xff,0xff,0xff,0xff,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x02,0x04,0x06,0x08,0x0a,0x0f,0x10, 0x12,0x16,0x18,0x1c,0x1d,0x1e,0x1f,0x20,0x21,0x22, 0x24,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0x00,0x00, 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x01 5、总结 好啦,做完这些,你就可以放心的开始你的嵌入式GUI之旅啦! |
|
|
|
只有小组成员才能发言,加入小组>>
2514 浏览 0 评论
1095浏览 2评论
705浏览 1评论
458浏览 0评论
200浏览 0评论
341浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 11:19 , Processed in 1.347890 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号