目录
软件环境:STM32CubeMX5.3 、TouchGFX 4.10.0 Designer、uVision5.28.0.0
硬件环境:正点原子阿波罗STM32F767开发板、4.3寸LCD接口屏(480×272)
下一篇为增加并使用触摸屏驱动:https://blog.csdn.net/Ningjianwen/article/details/99969898
首先我们来了解下如果要使用TouchGFX,需要配置哪些外设。当我们打开STM32CubeMX后,在没有任何配置的情况下TouchGFX是灰色的(不可选的),此时当我们将鼠标放到TouchGFX上是,会有如下提示:
通过该提示我们可以知道,必须配置如下外设:
- FreeRTOS
- DMA2D
- CRC
- FMC SDRAM
- TIM
- LTDC
- DSIHOST(使用TE mode时,才配置该项,DSI mode不用配置)
接下来对上述外设一次进行配置。
一 配置CRC
该项直接勾选Active,Parameter Settings按照默认的就行
二 配置TIM
定时器选一个简单的的定时器,可以直接勾选Active的定时器,推荐TIM6、TIM7、TIM10、TIM11、TIM13、TIM14,我这里选的TIM7,Parameter Settings、NVIC Setting、DMA Setting不需要配置
三 配置LTDC
这项的配置在我以前的博客有详细介绍过怎么配置,具体参考博客https://blog.csdn.net/Ningjianwen/article/details/92781418中的第一小节。这里我直接贴图,不做详细说明了。需要注意的是,我这里的配置与上述博客的配置有以下两点不同之处:
- 这里只配置的一层Layer,上述博客中是配置两层Layer的。不管一层还是两层,都是可以的。
- 这里必须配置NVIC Setting,两个中断中断都需要勾选,否则会出错。
- 这里配置了User Constants,用来替代一些常量
(Tips:必须配置NVIC Settings,否则运行会出错。)
1. 使用RGB565 (16 bits)模式
2. 配置Parameter Settings
3.配置Layer Settings
4 配置User Constants
5 配置NVIC Settings
6 配置GPIO Settings
7 配置LCD时钟
四 配置SDRAM
参考博客https://blog.csdn.net/Ningjianwen/article/details/90940570,跟该博客完全一样的配置。
五 为SDRAM配置MPU内存保护
这一步是必须的,不然无法正常驱动LCD
六 配置DMA2D
必须配置NVIC Settings,否则运行会出错
1. 配置parameter Settings
2. 配置NVIC Settings
七 配置FreeRTOS
简单实用的话,直接实用默认的就行,这里就省略了。
需要说明的是这里选择的是CMSIS_V1而不是CMSIS_V2,因为使用了CMSIS_V2就无法使用FATFS
八 配置TouchGFX
1. TouchGFX接口配置
2. Parameter Settings使用默认生成的就行
3. Touch GFX配置
操作流程如下:
- Executable full name中填写完整的TouchGFX Designer软件路径。
- 通过STM32CubeMX的Generage Code按钮生成一次代码,将Execute按钮变为可以单击的。
- 单击Execute按钮的,生成TouchGFX相关代码,该代码位于TouchGFX文件夹中。
- 双击TouchGFX文件夹中的后缀为.touchgfx的工程文件,使用TouchGFX Designer软件进行界面设计。
(Tips:之后对界面的修改操作,不需要STM32CubeMX软件介入了,TouchGFX Designer软件进行界面设计后,直接就可以使用uVison进行编译。)