0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

TouchGFX是一个基于STM32硬件由C++写成的软件框架

RTThread物联网操作系统 来源:RTThread物联网操作系统 作者:RTThread物联网操作 2021-01-13 16:43 次阅读

1、简介

TouchGFX是一个基于STM32硬件C++写成的软件框架,使用 ST芯片的用户可以免费使用 touchgfx。

touchgfx的官方文档传送门:https://support.touchgfx.com/docs/introduction/welcome。

1.1 目录结构

66321590-44ae-11eb-8b86-12bb97331649.png

1.2 依赖

RT-Thread 4.0+

C++

2.如何使用

2.1 使用 touchgfx2rtt package 需要在 RT-Thread 的包管理器中选择它,具体路径如下:

RT-Threadonlinepackages multimediapackages---> [*]touchgfx:atouchgfxpackageforrt-thread.

然后让 RT-Thread 的包管理器自动更新,或者使用 pkgs --update 命令更新包到 BSP 中。

检查工程中是否开启了C++支持和SDRAM、LCD的驱动,如果没有,请手动开启

2.2 在工程中打开DMA2D和CRC外设

66590452-44ae-11eb-8b86-12bb97331649.png

2.3 如果使用mdk开发,Micro LIB库不要打勾,Micro LIB库不支持C++

667d2670-44ae-11eb-8b86-12bb97331649.png

2.4 如果使用studio开发,需要开启libc库,并注意需要配置C++编译规则

66ca1818-44ae-11eb-8b86-12bb97331649.png

2.5 设计UI

在TouchGFX 文件夹中找到ApplicationTemplate.touchgfx.part,使用TouchGFX 4.15.0 Designer打开,开始进行UI设计。设计完UI后,记得更新工程。

3. 注意事项

当前版本的软件包只支持STM32F4xx STM32F7xx STM32H7xx 三款类型的芯片,和RGB接口的LCD。

3.1 如何更换屏幕

更换屏幕后,只需要修改对应的屏幕参数即可。

66d9e798-44ae-11eb-8b86-12bb97331649.png

用文本文档打开ApplicationTemplate.touchgfx.part,调整分辨率

6725ea08-44ae-11eb-8b86-12bb97331649.png

修改好,双击打开,重新生成UI工程。

3.2 如何更改色深

默认只支持RGB888 24位色深和RGB565 16位色深,只需要修改LCD_BITS_PER_PIXEL和LCD_PIXEL_FORMAT这两个宏,

6762af06-44ae-11eb-8b86-12bb97331649.png

用文本文档打开ApplicationTemplate.touchgfx.part,调整色深

67a26eca-44ae-11eb-8b86-12bb97331649.png

67c3923a-44ae-11eb-8b86-12bb97331649.png

修改好,双击打开,重新生成UI工程。

4. UI开发及仿真

4.1 使用TouchGFX 4.15.0 Designer 仿真

打开ApplicationTemplate.touchgfx.part,导入例程,或者自己设计UI界面,使用TouchGFX 4.15.0 Designer 即可仿真运行

6800f602-44ae-11eb-8b86-12bb97331649.png

683be2bc-44ae-11eb-8b86-12bb97331649.gif

4.2 使用Visual Studio 仿真

在TouchGFX文件夹下找到simulator,打开Application.sln,可以使用Visual Studio设计UI和仿真运行

68955086-44ae-11eb-8b86-12bb97331649.png

在TouchGFX Designer设计完UI,刷新工程,即可将UI更新到项目中。

责任编辑:lq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • C++
    C++
    +关注

    关注

    22

    文章

    2108

    浏览量

    73608
  • RT-Thread
    +关注

    关注

    31

    文章

    1285

    浏览量

    40064
  • ST芯片
    +关注

    关注

    0

    文章

    5

    浏览量

    5187

原文标题:RT-Thread的TouchGFX软件包使用说明

文章出处:【微信号:RTThread,微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    简单认识意法半导体STM32C0系列微控制器

    ‍‍‍‍‍‍‍‍新微控制器STM32C071扩大闪存和RAM容量,增加USB控制器,支持TouchGFX图形软件,让终端产品变得更纤薄、小巧,更具竞争力。
    的头像 发表于 10-25 09:54 323次阅读

    七大嵌入式GUI盘点

    GUI设计。 AWTK 全称为Toolkit AnyWhere,是周立功倾心打造的套基于C语言开发的GUI框架。旨在为用户提供
    发表于 09-02 10:58

    C++中实现类似instanceof的方法

    C++有多态与继承,但是很多人开始学习C++,有时候会面临常见问题,就是如何向下转型,特别是不知道具体类型的时候,这个时候就希望C++
    的头像 发表于 07-18 10:16 569次阅读
    <b class='flag-5'>C++</b>中实现类似instanceof的方法

    上位机可视化界面编程软件有哪些

    。以下是些常见的上位机可视化界面编程软件: Qt (跨平台C++框架) 介绍 :Qt是跨平
    的头像 发表于 06-06 10:48 2424次阅读

    TouchGFX 中 MCU 负载的计算过程介绍

    TouchGFX Desinger 下载的 TBS(TouchGFX Board Setup)大都带有 MCU 的 负载计算功能,那么如何在自己的板子上增加 MCU 负载计算功能呢?本文档参考从 TouchGFX Desig
    的头像 发表于 05-24 13:24 473次阅读
    <b class='flag-5'>TouchGFX</b> 中 MCU 负载的计算过程介绍

    鸿蒙OS开发实例:【Native C++

    使用DevEco Studio创建Native C++应用。应用采用Native C++模板,实现使用NAPI调用C标准库的功能。使用
    的头像 发表于 04-14 11:43 2581次阅读
    鸿蒙OS开发实例:【Native <b class='flag-5'>C++</b>】

    TouchGFX Video Decoding没进main函数之前进了Hardfault handler是哪里的问题?

    软件版本:TouchGFX 4.21.1 STM32CubeMX 6.8.0 HAL库版本 H7:1.11.0 F7:1.17.0 我用TouchGFX Designer直接生成H7B
    发表于 03-14 06:21

    谷歌模型框架是什么软件?谷歌模型框架怎么用?

    谷歌模型框架通常指的是谷歌开发的用于机器学习和人工智能的软件框架,其中最著名的是TensorFlow。TensorFlow是开源的机器学
    的头像 发表于 03-01 16:25 860次阅读

    【鸿蒙】NAPI 框架生成工具实现流程

    NAPI 框架生成工具 可以根据用户指定路径下的 ts(typescript)接口文件键生成 NAPI 框架代码、业务代码框架、GN 文件等。在开发 JS 应用与 NAPI 间接口时
    的头像 发表于 02-28 17:00 679次阅读
    【鸿蒙】NAPI <b class='flag-5'>框架</b>生成工具实现流程

    GD32 MCU硬件I2C不可靠不如软件I2C?来看看红枫派开发版的硬件I2C驱动如何做到稳得

    评论中,看到网友对硬件I2C的讨论,硬件I2C Busy找不到原因、
    的头像 发表于 02-23 09:37 2775次阅读
    GD32 MCU<b class='flag-5'>硬件</b>I2<b class='flag-5'>C</b>不可靠不如<b class='flag-5'>软件</b>I2<b class='flag-5'>C</b>?来看看红枫派开发版的<b class='flag-5'>硬件</b>I2<b class='flag-5'>C</b>驱动如何做到稳得<b class='flag-5'>一</b>批

    c语言,c++,java,python区别

    C语言、C++、Java和Python是四种常见的编程语言,各有优点和特点。 C语言: C语言是种面向过程的编程语言。它具有底层的特性,能
    的头像 发表于 02-05 14:11 2346次阅读

    vb语言和c++语言的区别

    VB语言和C++语言是两种不同的编程语言,虽然它们都属于高级编程语言,但在设计和用途上有很多区别。下面将详细比较VB语言和C++语言的区别。 设计目标: VB语言(Visual Basic)是
    的头像 发表于 02-01 10:20 2211次阅读

    C++简史:C++是如何开始的

    MISRA C++:2023,MISRA® C++ 标准的下一个版本,来了!为了帮助您做好准备,我们介绍了 Perforce 首席技术支持工程师 Frank van den Beuken 博士撰写
    的头像 发表于 01-11 09:00 575次阅读
    <b class='flag-5'>C++</b>简史:<b class='flag-5'>C++</b>是如何开始的

    基于TouchGFX的智能手表设计 —硬件驱动层程序设计

    电子发烧友网站提供《基于TouchGFX的智能手表设计 —硬件驱动层程序设计.pdf》资料免费下载
    发表于 01-05 11:20 1次下载

    基于 TouchGFX 的智能手表设计—Designer 软件 UI 设计

    电子发烧友网站提供《基于 TouchGFX 的智能手表设计—Designer 软件 UI 设计.pdf》资料免费下载
    发表于 01-05 11:06 0次下载