常见问题解答:STM32F469探索板上使用CubeMX和STMWin的GUI
如何使用STMWin图形库并从CubeMX工具默认配置开始为STM32F469探索板构建GUI应用程序?当选择ST开发板(如STM32F469 Discovery)时,一些默认设置。。。
如果启用了GUI(图形用户界面)所需的所有外围设备,则它们的配置需要一些调整,此外,就GUI应用程序而言,还启用了一些无用的外围设备。
最后,生成的代码也需要更新,以应对CubeMX中的一些已知限制。
本文将指导客户完成以下3个步骤:
- 禁用不需要的外围设备
- 调整所需配置
- 修复生成的源代码
下面的步骤分为两部分,第一部分对所有IDE都是通用的。
对于Atolic、AC6 System Workbench和CubeIDE,您也可以按照第二节的步骤进行操作。
1.所有IDE
1.1。启动CubeMX并从Board Selector(板选择器)列表中选择STM32F469 Discovery,然后单击“Start Project(启动项目)”

1.2、。单击对话框中的“是”,同意将外围设备初始化为其默认设置

1.3。将外围设备列表更改为A->Z过滤
1.4。开始禁用一些无用的(从GUI应用程序的角度来看)外围设备
I2C1型:设置为“禁用”
I2C2型:设置为“禁用”
SAI1型:将SAI A模式设置为“禁用”
SDIO公司:将模式设置为“禁用”
美国3:将模式设置为“禁用”
美国第6条:将模式设置为“禁用”
美国邮政:将FS IP的类设置为“禁用”
USB_OTG_FS公司:将模式设置为“禁用”
1.5中。更新某些外围设备的配置
低密度直流电-配置-参数设置:设置活动宽度至400
低密度直流电-配置-图层设置:设置第0层窗口水平停止至400
低密度直流电-配置-图层设置:设置层0颜色帧缓冲区行长度至400
二次似然-配置-显示界面:设置最大命令大小至400
图形-模式-图形框架:选择“STemWin”
图形-模式-显示接口:选择“使用LTC-DSIHOST显示串行接口”
图形-配置-参数设置:将“用户GUIBuilder工具”设置为“启用”
图形-配置-参数设置:设置物理显示器尺寸-X尺寸至“800”
图形-配置-平台设置:选择PH7作为LCD复位引脚
1.6。从“项目管理器”->“项目”部分的列表中选择IDE

1.7、。生成代码一次

1.8。返回引脚输出和配置,然后在GRAPHICS外围设备中
在配置中,单击执行启动GUIBuilder

1.9中。在GUIBuilder中,我们只需添加一个按钮

1.10。选择“文件->保存”,同意覆盖现有文件

1.11。关闭GUIBuilder并再次生成代码

2.代码编辑
需要更新:

就LTCC和DSI而言,显示器的宽度被设置为400而不是800。
不幸的是,指定将被传输到显示器低级驱动器的显示器方向的参数是基于从LTCC配置中提取的宽度和高度之间的比率。
在这种情况下,宽度小于高度,因此选择PORTRAIT模式,景观变灰:

这就是为什么必须直接在源代码中进行修改每次从CubeMX重新生成代码时都必须再次执行。
3.基于Eclipse的IDE(Atolic、AC6 System Workbench、CubeIDE)
打开Stemwin_wrapper.c公司文件,查找LCD_L_Reset(无效)函数声明,并将其替换为:
静态无效LCD_L_Reset(无效)
{
/*激活XRES激活低*/
HAL_GPIO_WritePin(GPIOH、GPIO_PIN_7、GPIO_PIN_RESET);
HAL_播放(20);/*等待20毫秒*/
/*去活化XRES*/
HAL_GPIO_WritePin(GPIOH、GPIO_PIN_7和GPIO_PIN_SET);
/*释放XRES后等待10ms,然后再发送命令*/
HAL_延迟(10);
}
然后在图形_HW_Init()函数,调用函数:
无效GRAPHICS_HW_Init(无效)
MX_FMC_Init();
MX_SDRAM_InitEx();
/*用户代码开始LCD_reset_pin*/
LCD_LL_Reset();
/*用户代码结束LCD_reset_pin*/
MX_LCD_Init();/*LTCC结构、层结构*/
MX_DMA2D_Init();
DMA2D_Init();
MX_DSI_Init();
}
本教程到此结束,我希望它会有所帮助。
客户注意事项: 1) 您可以通过点击“创建者”信息中提供的姓名来联系这篇文章的作者。 2) 所有其他评论或反馈你可以通过电子邮件发送到community@st.com 3.)如果您需要特定(产品)支持请咨询我们的支持中心(https://www.st.com/content/st_com/en/support/support-home.html)您可以从各种在线支持选项中进行选择,并选择最符合您要求的服务。 |