STM32在GUI方案的设计里,STM32CubeMX和TouchGFX Designer这两个上位机工具至关重要,下面我们就来介绍一下如何通过STM32CubeMX创建一个TouchGFX的模板,有了这个模板,我们就可以基于此模板开发自己的GUI应用了。
下面我们就进入STM32CubeMX开始创建工程:
此次基于STM32F429IGT6进行创建,具体步骤顺序见下图所示
使能调试口,把时基选择为TIM7,这是因为后面要加入FreeROTS,避免时钟源发生冲突。
使能外部晶振
下面配置FMC驱动SDRAM,先来看一下SDRAM的硬件,可以确认相关的配置参数:
地址线13根,数据线16根。其中,Byte enable使能与SDRAM上LDQM和UDQM引脚有关。
配置SDRAM的参数
使能DMA2D,配置相应的RGB格式
使能DMA2D的全局中断
根据屏规格配置LTDC的参数
缓冲区首地址0xC0000000即为SDRAM的起始地址
LTDC的IO一定要配置成和实际电路设计的IO一致,否则默认的和实际的不一致话LCD会无法正常显示
再添加一个IO做背光控制
使能CRC,否则无法正常工作
打开中断
配置FreeROTS,添加一个任务
配置TouchGFX
配置参数,帧起始地址还是SDRAM的起始地址,第二帧起始地址0xC0000000+1024*600*2bit=0xC012C000
最后进行配置时钟
生成工程
打开工程里的TouchGFX添加控件生成代码,否则编译可能会出现缺少文件的报错
接下来要把工程在LCD屏上跑起来,在工程里添加SDRAM驱动,在相应文件添加如下代码:
以上,前期开发的准备工作基本完成,接下来我就可以在新搭好的模板上开发自己的UI项目了。
评论