ART-PI平台移植Touchgfx 驱动gt9147 触摸屏幕点亮LED
本篇文章用来介绍一下怎么使用RTThread Studio 在ART-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相关推荐
- 嵌入式linux驱动开发之点亮led(驱动编程思想之初体验)
这节我们就开始开始进行实战啦!这里顺便说一下啊,出来做开发的基础很重要啊,基础不好,迟早是要恶补的.个人深刻觉得像这种嵌入式的开发对C语言和微机接口与原理是非常依赖的,必须要有深厚的基础才能hold的 ...
- 基于RK3288安卓Android5.1平台移植RTL8152驱动
请忽略我的排版,抱歉. 项目上需要实现网络功能,就在现有的基础上添加一个RTL8152芯片,实现USB转网口. 据说Linux上有现成的8152驱动,以为一切会很顺利,没想到等板子焊好之后懵逼了,不能 ...
- QCM2290平台XBL阶段I2C使能并点亮LED
描述:qcm2290平台上,在低压充电阶段(XBL),需要驱动LED灯芯片,提供接口供充电模块调用,显示充电指示灯功能. 说明:LED控制芯片是I2C接口,我只需要提供接口即可,我这边实现了在开机时l ...
- 驱动编程,点亮LED小灯
实现要求:1.2.3分别控制LED灯1.2.3的点亮:4.5.6则分别控制其熄灭. 知识点:字符设备驱动. 字符设备驱动实现的框架: 注册设备驱动 --> 获得设备号,将其挂在到根目录的dev目 ...
- android usb wifi驱动下载,android 平台USB wifi驱动移植及使用
一. Android平台Wifi的基本代码路径 1. Wpa_supplicant源码部分 external/wpa_supplicant_6/ 生成库libwpa_client.so ...
- MTK平台的LCM驱动移植
一.Android系统开机启动过程及驱动概述: MTK平台的显示驱动分两块,一块在LK代码里面,一块在kernel代码里面: LK的lcm驱动路径在:vendor\mediatek\proprieta ...
- esp32系列(11):ESP32 IDF平台 mpu6050 DMP 驱动移植及测试上位机开发
目录 1 DMP 官方库介绍 1.1 DMP与MPL(Motion Processing Libraries)功能 1.2 运行MPL的硬件要求 1.3 Motion Driver 6.12 的架构 ...
- 基于MSM平台的振动器驱动移植
前言: 振动器是Android智能手机操作系统中比较常见的功能之一,在实际应用中可以将来电显示设置为振动模式作为提醒.在Android系统中,通过振动系统米快可以实现俩点铃声和来电的振动功能..本篇b ...
- 【Linux高级驱动】如何分析并移植网卡驱动
dm9000的驱动分析 m9000_init platform_driver_register(&dm9000_driver); dm9000_probe /*获取平台数据*/ stru ...
最新文章
- Linux之网络管理(2)虚拟网卡
- 【一周论文速递】自然语言处理最新论文!
- MyBatis Generator 学习
- Spring中注解大全
- [Linux日记]解决Ubuntu升级出现/boot空间不足问题
- Python: 字符串
- 用 Tenorshare ReiBoot修复iPhone无法开机
- 2019年最好用的6款数据库监控工具
- 二分查找算法java实现
- seo优化基础知识:如何优化博客文章
- excel文件服务器未响应,excel打不开文件未响应怎么处理-处理excel无法打开文件未响应的方法 - 河东软件园...
- 各个国家的市场分析(俄罗斯,白俄罗斯)
- api文档 luci_openwrt中luci学习笔记
- EHR_ERAL_KAYANG店铺提点方案相关函数
- 中国航天科技集团公司的各个研究院
- 幼儿园手工之自制时钟_幼儿园亲子手工之自制时钟玩教具,这样教孩子时间观念效果才明显...
- 电脑脑运行快捷键是什么,电脑运行窗口快捷键
- 计算机程序设计考题,计算机程序设计员试题与答案.doc
- Labview从入门到会用(一)——创建数据文件
- 万物皆可电商,生鲜的坎坷之路
热门文章
- hdu 5230 ZCC loves hacking
- 【webrtc 】P2P的JsepTransport 的创建与 管理
- android没有adm_解决AMD无法使用Android studio问题
- 惠安七号机器人创意园_好消息!泉州信息工程学院落地惠安山霞,将建人工智能学院...
- 一道面试题:i am biter 逆置为:biter am i
- 关于如何使用QSS实现QPushButton QToolButton上的图片拉伸和文字对齐
- 如何拆焊Flash芯片
- 计算机的三种语言及相关技术2019.7.1
- opencv fisheye calibration(鱼眼相机校正)
- iOS远程消息推送(信鸽推送平台)