本帖最后由 dirty 于 2024-8-31 23:20 编辑
本篇主要讲开发板显示屏触摸功能,并进行组织、编写测试该功能。
一.了解原理
开发板使用电容触摸屏(CTP),触摸驱动IC GT911,其支持五点触摸。下面了解硬件原理。
图:触摸引脚定义
I2C2_SCL--PA8
I2C2_SDA--PA9
RST -- PA10
INT --PA11
二.代码准备
1.scons --menuconfig配置引脚并使能
图2:配置触摸引脚
2.使能触摸驱动测试命令
图3:使能触摸驱动测试命令
3.触摸驱动测试需关闭LVGL Demo,用scons --menuconfig配置命令禁能会有编译不过问题,这里在SDK代码里测试触摸功能屏蔽掉LVGL系统初始化功能,这样不会带来编译问题同时不使用LVGL.
图4:关闭LVGL功能
4.测试触摸功能函数,查找打开设备,注册事件回调,创建信号量及任务,通过MSH_CMD_EXPORT导入测试命令函数
图5:触摸功能代码
图6:触摸测试打印与触摸驱动源码及配置
三.测试
1.编译烧录,串口输入命令list device,可以找到gt911设备,日志如下
图7:命令查询gt911设备
2.输入命令test_gt911启动触摸测试功能,手指在屏幕上触摸,可以看到如下日志
图8:触摸测试
可看到触摸信息有点轨迹ID,做多支持5个(0-4),点宽度,X坐标,Y坐标和接收数据时间戳。
至此,对开发板触摸功能有一个直观且较系统全面的了解,为后面奠定良好基础。