| **银杏科技有限公司旗下技术文档发布平台** |||| |技术支持电话|**0379-69926675-801**||| |技术支持邮件|Gingko@vip.163.com||| ^ 版本 ^ 日期 ^ 作者 ^ 修改内容 ^ | V1.0 | 2020-10-30 | yang | 初次建立 | ===== iCore4T_RTT_12_添加电容触摸驱动 ===== * 4.3寸液晶底板支持电阻屏和电容屏,今天,我将在前面移植LTDC驱动项目的基础上(rt-thread-icore4t-v0.9),给大家分享RTT的电容触摸驱动移植,最后实现电容触摸测试。 ==== 1、修改board文件夹下kconfig文件,在menu "On-chip Peripheral Drivers"中添加配置I2C2总线并在菜单配置中勾选。这里我们采用的是RT-Thread的模拟I2C,使用普通IO就可以了,不再需要通过CubeMx配置I2C引脚。从原理图可以看到电容触摸的I2C两个引脚SDA、SCL分别为PH6、PF6,引脚编号为118、86。 ==== {{ :icore4t:iCore4T_RTT_12_1.png?direct |}} {{ :icore4t:iCore4T_RTT_12_2.png?direct |}} ==== 2、在菜单路径下RT-Thread online packages -> Peripheral libraries and drivers -> touch drivers -> 勾选GT9147 电容触摸驱动。我使用的电容触摸芯片是GT911,与GT9147同一个系列,我将在官方GT9147驱动的基础上略作修改来适配GT911。 ==== {{ :icore4t:iCore4T_RTT_12_3.png?direct |}} ==== 3、使用命令Pkgs --force-update 下载官方GT9147驱动包。 ==== ==== 4、键入scons --target=mdk5,生成MDK5工程,在工程目录packages\gt9147-latest下就是GT9147的驱动文件。 ==== {{ :icore4t:iCore4T_RTT_12_4.png?direct |}} ==== 5、打开stm32h750-gingko-icore4t下的project.uvprojx工程,在gt9147.c文件头部添加board.h头文件和I2C2的INT、RST引脚定义,并替换CFG_TBL数组。 ==== {{ :icore4t:iCore4T_RTT_12_5.png?direct |}} ==== 6、在gt9147.c文件末尾添加rt_hw_gt9147_port函数,将gt9147与I2C2总线绑定。 ==== {{ :icore4t:iCore4T_RTT_12_6.png?direct |}} ==== 7、手动添加gt9147_sample.c测试文件到工程,并在文件末尾添加代码,将gt_9147_sample命令添加进CMD,在函数gt9147_sample开头对参数进行赋值。 ==== {{ :icore4t:iCore4T_RTT_12_7.png?direct |}} {{ :icore4t:iCore4T_RTT_12_8.png?direct |}} ==== 8、将工程编译,烧录,就可以进行触摸测试了。打开终端,选择对应COM口,比特率115200,可以看到系统启动信息,I2C2总线注册成功,触摸设备初始化成功。运行gt9147_sample命令,打印出设备ID,xy范围,触摸点数。当点击触摸屏时,打印触点信息。 ==== {{ :icore4t:iCore4T_RTT_12_9.png?direct |}} 至此说明我们的电容触摸驱动已经添加成功。 ==== 9、源代码 ==== 源代码可以稳步这里下载: 链接:https://pan.baidu.com/s/1fcLU4WaRDlgr0mNYwZj1Yg  提取码:zstq