本篇文章用来介绍一下怎么使用RTThread StudioART-PI平台上面移植TouchGFX,并做一个简单的触摸按键让LED灯闪烁试验。

我使用的液晶屏幕是正点原子的4.3寸RGBLCD,触摸芯片是GT9147。要注意的是正点原子的GT9147板液晶有新旧两个版本,目前RTT Studio里面的GT9147包读取新版的触摸位置不对。本文会简单介绍一下在移植中出现的常见的问题。

再开发之前需要下载最新的RTThread Studio  2.0.0,下载最新的ART-PI BSP1.1.0

随后要基于ART-PI开发板新建一个项目工程,打开配置软件包的页面配置软件,搜索GT9147包添加。点击 C++ 和 软件模拟IIC 两项添加进工程

添加TouchGFX库,配置IIC驱动选择IIC1。使用ctrl+s保存目前的配置。

在以下的路径下打开STM32H7xx_HAL_CONF.h,取消CRC和DMA2D的宏屏蔽。打开构建配置按钮配置一下C++编译器的属性。如果找不到GNU ISO 2011,那么需要重装Studio。

此时编译一下没有错误

这个时候如果使用的是新版的GT9147触摸芯片的LCD ,此时下载触摸屏幕没有反应,因此需要修改一下程序。打开STM32TouchController.cpp文件修改sampleTouch函数。

这样就可以了。

点击下载程序后会观察到屏幕只有中间部分有图显示,不用怀疑是分辨率问题这是因为图像设计就是这么大。打开工程所在的目录,找到libraries\touchgfx_lib\touchGfx 下面的art_pi.touchgfx 使用4.15版本的TouchGFX打开修改控件和图形。

此时可以滑动右侧的滑竿观察图表波形的变化。如果触摸屏移植成功的话能够正常拖动滑竿。

下面介绍一下怎么使用按钮控件来打开和关闭LED。

首先要在设计面上添加一个按钮控件,设置它的名称和显示文本,随后添加它的行为动作函数。在填写函数名称和交互函数的时候要注意不能和程序中出现偏差。配置完毕后点击生成代码。使用Rtthread Studio打开工程后刷新一下工程,确保文件最新。

打开MainView.hpp添加虚函数定义,在MainView.cpp中添加虚函数的实现。

打开MAINPRESENTER.HPP添加新的虚函数定义,

在MAINPRESENTER.cpp里面添加实现。

在Model.hpp里面添加新的函数定义 [open()]和头文件

在model.cpp里面实现函数,这是我们最终要实现的功能控制LED亮灭。这是标准的TouchGFX开发流程,但是看上去非常的麻烦。其实可以在MainView.cpp里面实现这个功能就是这样做偏离了TouchGFX的设计理念。

代码地址为:链接:https://pan.baidu.com/s/16sbPigDDguNFmRvuT-7ITA 
提取码:eaym

ART-PI平台移植Touchgfx 驱动gt9147 触摸屏幕点亮LED相关推荐

  1. 嵌入式linux驱动开发之点亮led(驱动编程思想之初体验)

    这节我们就开始开始进行实战啦!这里顺便说一下啊,出来做开发的基础很重要啊,基础不好,迟早是要恶补的.个人深刻觉得像这种嵌入式的开发对C语言和微机接口与原理是非常依赖的,必须要有深厚的基础才能hold的 ...

  2. 基于RK3288安卓Android5.1平台移植RTL8152驱动

    请忽略我的排版,抱歉. 项目上需要实现网络功能,就在现有的基础上添加一个RTL8152芯片,实现USB转网口. 据说Linux上有现成的8152驱动,以为一切会很顺利,没想到等板子焊好之后懵逼了,不能 ...

  3. QCM2290平台XBL阶段I2C使能并点亮LED

    描述:qcm2290平台上,在低压充电阶段(XBL),需要驱动LED灯芯片,提供接口供充电模块调用,显示充电指示灯功能. 说明:LED控制芯片是I2C接口,我只需要提供接口即可,我这边实现了在开机时l ...

  4. 驱动编程,点亮LED小灯

    实现要求:1.2.3分别控制LED灯1.2.3的点亮:4.5.6则分别控制其熄灭. 知识点:字符设备驱动. 字符设备驱动实现的框架: 注册设备驱动 --> 获得设备号,将其挂在到根目录的dev目 ...

  5. android usb wifi驱动下载,android 平台USB wifi驱动移植及使用

    一.   Android平台Wifi的基本代码路径 1.       Wpa_supplicant源码部分 external/wpa_supplicant_6/ 生成库libwpa_client.so ...

  6. MTK平台的LCM驱动移植

    一.Android系统开机启动过程及驱动概述: MTK平台的显示驱动分两块,一块在LK代码里面,一块在kernel代码里面: LK的lcm驱动路径在:vendor\mediatek\proprieta ...

  7. esp32系列(11):ESP32 IDF平台 mpu6050 DMP 驱动移植及测试上位机开发

    目录 1 DMP 官方库介绍 1.1 DMP与MPL(Motion Processing Libraries)功能 1.2 运行MPL的硬件要求 1.3 Motion Driver 6.12 的架构 ...

  8. 基于MSM平台的振动器驱动移植

    前言: 振动器是Android智能手机操作系统中比较常见的功能之一,在实际应用中可以将来电显示设置为振动模式作为提醒.在Android系统中,通过振动系统米快可以实现俩点铃声和来电的振动功能..本篇b ...

  9. 【Linux高级驱动】如何分析并移植网卡驱动

    dm9000的驱动分析 m9000_init  platform_driver_register(&dm9000_driver); dm9000_probe  /*获取平台数据*/  stru ...

最新文章

  1. Linux之网络管理(2)虚拟网卡
  2. 【一周论文速递】自然语言处理最新论文!
  3. MyBatis Generator 学习
  4. Spring中注解大全
  5. [Linux日记]解决Ubuntu升级出现/boot空间不足问题
  6. Python: 字符串
  7. 用 Tenorshare ReiBoot修复iPhone无法开机
  8. 2019年最好用的6款数据库监控工具
  9. 二分查找算法java实现
  10. seo优化基础知识:如何优化博客文章
  11. excel文件服务器未响应,excel打不开文件未响应怎么处理-处理excel无法打开文件未响应的方法 - 河东软件园...
  12. 各个国家的市场分析(俄罗斯,白俄罗斯)
  13. api文档 luci_openwrt中luci学习笔记
  14. EHR_ERAL_KAYANG店铺提点方案相关函数
  15. 中国航天科技集团公司的各个研究院
  16. 幼儿园手工之自制时钟_幼儿园亲子手工之自制时钟玩教具,这样教孩子时间观念效果才明显...
  17. 电脑脑运行快捷键是什么,电脑运行窗口快捷键
  18. 计算机程序设计考题,计算机程序设计员试题与答案.doc
  19. Labview从入门到会用(一)——创建数据文件
  20. 万物皆可电商,生鲜的坎坷之路

热门文章

  1. hdu 5230 ZCC loves hacking
  2. 【webrtc 】P2P的JsepTransport 的创建与 管理
  3. android没有adm_解决AMD无法使用Android studio问题
  4. 惠安七号机器人创意园_好消息!泉州信息工程学院落地惠安山霞,将建人工智能学院...
  5. 一道面试题:i am biter 逆置为:biter am i
  6. 关于如何使用QSS实现QPushButton QToolButton上的图片拉伸和文字对齐
  7. 如何拆焊Flash芯片
  8. 计算机的三种语言及相关技术2019.7.1
  9. opencv fisheye calibration(鱼眼相机校正)
  10. iOS远程消息推送(信鸽推送平台)