本帖最后由 如意不如意 于 2020-11-7 10:27 编辑
分享iCore4T移植RT-Thread过程的点点滴滴——DAY 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。
2、在菜单路径下RT-Thread online packages -> Peripheral libraries and drivers -> touch drivers -> 勾选GT9147 电容触摸驱动。我使用的电容触摸芯片是GT911,与GT9147同一个系列,我将在官方GT9147驱动的基础上略作修改来适配GT911。
3、使用命令Pkgs --force-update 下载官方GT9147驱动包。
4、键入scons --target=mdk5,生成MDK5工程,在工程目录packages\gt9147-latest下就是GT9147的驱动文件。
5、打开stm32h750-gingko-icore4t下的project.uvprojx工程,在gt9147.c文件头部添加board.h头文件和I2C2的INT、RST引脚定义,并替换CFG_TBL数组。
6、在gt9147.c文件末尾添加rt_hw_gt9147_port函数,将gt9147与I2C2总线绑定。 7、手动添加gt9147_sample.c测试文件到工程,并在文件末尾添加代码,将gt_9147_sample命令添加进CMD,在函数gt9147_sample开头对参数进行赋值。
8、将工程编译,烧录,就可以进行触摸测试了。打开终端,选择对应COM口,比特率115200,可以看到系统启动信息,I2C2总线注册成功,触摸设备初始化成功。运行gt9147_sample命令,打印出设备ID,xy范围,触摸点数。当点击触摸屏时,打印触点信息。 至此说明我们的电容触摸驱动已经添加成功。
9、源代码
源代码可以稳步这里下载:
链接:https://pan.baidu.com/s/1fcLU4WaRDlgr0mNYwZj1Yg 提取码:zstq
|