9.1. 配置触摸屏
zx-rtt 可以支持两种触摸屏:
电容屏:CTP;
电阻屏:RTP;
9.1.1. 配置 CTP
9.1.1.1. 配置
CTP 配置部分,以 ZX7D00M4R64 配置 GT911 为例:
数据通道采用 i2c3;
RST 引脚使用 PA8;
INT 引脚使用 PA9;
通过 scons --menuconfig
命令,进入配置页面,完成如下配置:
Board options --->
[*] Using I2c3
I2c3 Parameter --->
I2c3 Master && Slave (Master)
Rt-Thread options --->
RT-Thread Components --->
Device Drivers --->
[*] Using Touch device drivers
[*] touch irq use pin irq
Drivers options --->
Peripheral --->
Touch Panel Support --->
Gt911 touch panel options --->
[*] Using touch panel gt911
(i2c3) gt911 using i2c channel index # 数据通道
(PA.8) gt911 reset pin # 复位引脚
(PA.9) gt911 irq pin # 中断引脚
Drivers examples --->
[*] Enable touch panel driver test command # test_gt911 测试程序
9.1.1.2. 验证
9.1.1.2.1. 使用LVGL
使用默认项目的 test_lvgl 程序验证 CTP 的功能,系统正常启动后,即可在触屏上点触、滑动。
9.1.1.2.2. 使用 test_gt911
若使用默认项目配置,可以使用如下配置取消 test_lvgl :
Application options --->
[ ] ZX lvgl demo
注意
测试程序运行之前,请务必保证没有 GUI 应用程序打开 gt911 设备。
系统驱动之后,运行 test_gt911
命令,并在 CTP 上触摸滑动,观察调试串口输出如下:
aic/> test_gt911 # 运行测试程序
id = GT911 # 获取gt911 id
range_x = 1024 # 打印x范围
range_y = 600 # 打印y范围
point_num = 1
aic/>
aic/>
aic/>
aic/>
aic/> 0 578 366 12 0 # 有触屏事件时,打印触摸点坐标
0 578 366 12 0
0 578 366 12 0
0 578 366 12 0
0 578 366 12 0
0 578 366 12 0
0 580 372 12 0
0 603 396 12 0
0 627 422 12 0
0 439 386 13 0
0 439 386 13 0
0 439 386 13 0
0 433 384 13 0
0 413 371 13 0
0 387 355 13 0
0 364 340 13 0
0 351 335 13 0
0 296 267 13 0
0 296 267 13 0
0 296 267 13 0
0 297 269 13 0