在之前,STM32的图形界面开发官方一直推荐STemWin,但是毕竟不是自家产品,应用首先不说,图形界面的效果也是差强人意。不过伴随着2018年下半年ST正式收购TouchGFX,这一情况逐渐发生改变,ST终于有了自己的图形开发库了,而且TouchGFX在STM32上运行的界面非常绚丽,甚至比Android界面的美观程度也不差,而且在STM32各个系列的MCU上全面免费试用,并集成到了STM32CubeMX中,使得各位STM32用户在开发图形界面项目时有了更好的选择。
在STM32中文官网下载了《通过STM32CubeMX从零开始驱动STM32F746-DK并创建一个TouchGFX工程》文档,根据文档我们一起学习如何使用TouchGFX开发STM32图形界面程序。
首选需要下载TouchGFX Designer,这个是TouchGFX图形界面的设计器,下载方式有两种,一种是直接到ST的官网下载,地址是:
https://my.st.com/content/my_st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-configurators-and-code-generators/touchgfxdesigner.html
这个需要登录ST官网的帐号才可以。还有另一种方式,就是使用STM32CubeMX,如果用户安装的最新版本的STM32CubeMX(5.x),并且安装了STM32的F4或者F7系列的最新Cube库,那么TouchGFX的安装程序就已经被下载到本地了。
比如在F7的Cube库中就有安装文件了。
点击安装程序后开始安装。
需要接受最终用于协议。
这里可以修改安装路径,选择是否在桌面和开始菜单创建快捷方式。
接下来开始安装。
安装完成后会启动TouchGFX的设计器。
设计器的主界面。
修改应用的名称,这里使用了STM32F746-Disco开发板,所以以开发板命名;设置应用保存的目录;鼠标滑动到应用模块上时,右下角会出现CHANGE按钮,点击后选择应用模板。
应用模板中有很多内置好的开发板模板,其中就有STM32F746G Discovery Kit,选中即可。
返回设计界面后模板窗口就出现了STM32F746开发板的参数了,点击CREATE按钮。
此时设计器开始从网络下载模板数据。
下载完成后,进入界面设计模式。
在设计图形界面程序之前,首先根据开发板液晶屏的分辨率(480*272)创建了一个背景图片。需要注意的是图片格式必须是PNG,不能使用JPG等格式。把图片拷贝到创建的工程的TouchGFX-assets-images目录下。
在设计器中点击图像标签,下面会列出所能加载的图片。
双击背景图片,图片就加载到界面上了,背景图作为背景,覆盖整个屏幕区域。
此时点击设计器的Run Simulator,就可以运行模拟器了。模拟器的启动需要时间比较长,可能长达几分钟,需要耐心等待。
模拟器作为一个windows应用的窗口程序,演示了设计效果。
返回设计器,点击Generate Code按钮,开始创建代码,左下角的状态栏会有提示信息。
代码生成后会在工程目录中看到IAR的工程,可以使用IAR打开编辑工程了。此外还生成了STM32CubeMX的工程文件,可以方便的使用STM32CubeMX打开工程进行管脚设置。
此时使用USB线连接好PC和开发板的调试接口,点击设计器的Run Target按钮,工程开始自动编译并下载到开发板。
下载完成后,在开发板上就可以看到之前设计好的图形界面了。
总结:
TouchGFX被ST收购后,已经全面支持STM32的图形设计,而且被集成到了STM32CubeMX,能够生成IAR工程和STM32CubeMX工程,全面打通了STM32的开发工具链,使用该设计器在不用编写一行代码的情况下,就可以实现基本图形界面的显示了,非常友好。
|