你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

F429I-DISC1体验报告(1)久经沙场,锋芒依旧丨TouchGFX开发F429丨国庆开发板测评活动

[复制链接]
cm32 发布时间:2025-11-30 00:18

序言

2014年,STM32F429的问世,为嵌入式图形界面开启了一个新的阶段。它并非首个集成LCD控制器的MCU,但在Cortex-M领域,它率先将CPU性能、专用图形加速器与成熟的TFT控制器融为一体,奠定了STMCU图形解决方案的基石。 作为STM32图形生态的里程碑,它不仅是TouchGFX框架在STM32平台的首个完整载体,其集成的DMA2D、LTDC、FPU等模块,更在当时定义了高性能图形MCU的典范,让流畅的彩屏交互成为嵌入式设计的标准配置。 十年过去,凭借稳定的架构与完备的生态体系,STM32F429 依旧在工业控制、家电终端与便携设备等领域被广泛采用,展示出经验证的可靠性与持续价值。本次体验旨在通过学习TouchGFX的开发,重新审视这款经典器件在当今环境下的技术意义与应用潜力。

开发环境

本次测评活动使用到的环境有:STM32CubeIDE 1.19.0、TouchGFX 4.26.0 Designer

外观展示

我拿到的是版本号为MB1075C的板卡,搭载的是STM32F429ZIT6,Cortex-M4内核,主频180MHz,具有2MB的Flash存储和256KB的RAM。板载的外设主要有:

  • 调试器ST-Link V2
  • 驱动为ILI9341的2.4寸TFT-LCDimage.png
  • 触摸屏驱动芯片为STMPE811QTR(新版MB1075E更换为SX8651)板载屏幕是电阻触摸屏,支持单点触控,触摸的时候需要用力一些。22558a80-8e47-46a0-b720-7594473f5c1b.png
  • 3轴陀螺仪L3GD20TR(新版MB1075E更换为I3G4250D)image.png
  • 64Mbit的SDRAM IS42S16400Jimage.png

布局总览如下:

正面:image.png

背面:image.png

测评任务简介

本次测评活动主要完成以下三个任务:

  • 创建一个简单的图形用户界面(GUI),显示一个欢迎消息和一个按钮,点击按钮后显示一个弹出窗口。

    使用触摸屏功能,实现一个简单的绘图应用,用户可以用手指在屏幕上绘制线条。

    开发一个温度传感器数据可视化应用,实时显示温度数据的图表。

我将以上三个任务整合到一起,做成了一套支持不同语言的、拥有画板、灯光控制、温度图表等功能的小型嵌入式GUI demo。

本次测评活动最终成果预览:

简要思维导图:

image.png

主界面:

进入时显示欢迎界面和一个“Next”按钮,点击Next按钮后弹出一个窗口,显示“TOUCH GFX DEMO”字样,再次点击屏幕任意位置进入选项界面。

image.png

选项界面:

有四个选项,分别是灯光、语言设置、温度检测、小画板四个选项,放在一个卷轴菜单中,可以上下滑动;以及一个返回按钮,点击后返回欢迎界面。

image.png[!

灯光控制界面:

有一个自锁按键,可以控制PG13连接的LD3亮灭;按下Backward返回菜单界面。

image.png

语言切换界面:

包含中文和英文两个按键,按下任一按键后跳转回选项界面,并且切换全局为对应语言。

image.png

温度监测界面:

包含动态图表元件实时显示温度曲线,并且在下方文本实时显示温度数据;有一个滑动菜单,点击露出来的小啾啾可以打开菜单,里面放有一个返回按键;

image.png

画板界面:

包含一个绘画区域和两行按键,绘画区域通过自定义的SketchContainer控件实现绘制操作,按键区域第一行为多种预置颜色,最后一个“C”按键为唤出调色盘的按键;第二行为清除画板按键和返回菜单按键。

image.png

TouchGFX上手——触摸屏点灯

TouchGFX Designer和STM32 Cube Programmer的安装官方有详细的视频介绍,此处不再赘述:TouchGFX_02. 如何安装TouchGFX Designer和STM32Cube软件环境

注意STM32 Cube Programmer最好安装到C盘,如果安装到其他目录下的话,需要修改TouchGFX的配置文件:

在新建完项目后,在<你的项目>/gcc/include/下找到cube_programmer.mk,将里面有关cube_programmer的路径进行修改,此处我的cube Programmer安装到了E盘下的Program Files文件夹下:

program_files_win32 = /e/Program Files (x86)
program_files_win64 = /e/Program Files
program_files_CLT = /e/ST/STM32CubeCLT/STM32CubeCLT/

TouchGFX的官方Demo和例程

通过官方例程可以对开发板快速评估,在左侧Demos选择卡中有多种不同例程可供参考,可以看到STM32F429I-DISC1的官方例程为Button Sample Demo:

image.png

生成后可以看到界面分布如下:

通过左边Canvas→Screen可以看到,主屏幕放置了三张图片,但是在右边Interactions中发现它没有设计任何的交互,十分简陋。实际上下载到板上也可以发现,它确实只是显示了一个静止的图像而已。

image.png

TouchGFX触摸屏点灯

我们来实现一个可以跟外界交互的点灯程序:选择左侧Create→找到STM32F429I-DISC1,可以生成空文件。

image.png

按照下图顺序放置3个控件在画布上,分别是作为背景的Box,颜色设置为自己喜欢的颜色;用于设置灯光状态的Toggle Button;作为示意图,避免图片过于死板的图像,为了方便调节,使用的是Scalable Image。

image.png

如果还没有添加图片到项目中,可以按照下面步骤添加,然后加载到Scalable Image控件中。

image.png

完成布局后来设计交互,在Interactions中添加交互,选择触发事件为按钮点击(Button is Clicked),选择自己的按钮,动作(Action)选择生成C++代码(Execute C++ Code),代码中进行PG13的翻转。

image.png

接下来点击右下角</>按钮生成代码;生成后,我们需要到CubeMX中配置PG13。

image.png

在生成的代码文件夹根目录中有一个.ioc文件,用CubeMX打开或者CubeIDE打开进行配置。

image.png

将PG13设置为GPIO_Output模式,在CubeMX中点击上方Generate Code生成代码,在CubeIDE中只需要保存文件即可自动生成代码。

image.png

生成后回到TouchGFX Designer,点击右下角最右边的下载按钮,下载到开发板上。

image.png

触摸按钮时可以正常开关LED。

13408908045008875.gif

项目文件我已经放到了我的gitHub中,有需要可以自取:

STM32F429-TouchGFX/MyApplication_Complete at main · Chiando-1100/STM32F429-TouchGFX](https://github.com/Chiando-1100/STM32F429-TouchGFX)

image.png
image.png
image.png
image.png
image.png
image.png
led.png
13408908045008875.gif
收藏 评论1 发布时间:2025-11-30 00:18

举报

1个回答
电子烂人 回答时间:8 分钟前

F429-DISCO这个板子有好几个型号,出的挺杂的,有部分型号板子的TOUCHGFX工程触摸会上下翻转

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版