按照上一篇配置基础上修改,
1 DMA2D
rgb 565, 打开全局中断
2 LDTC
注意时序 ,打开全局中断
如果遇到屏幕刷新不对,检查一下是否是这个格式
3 CRC
打开就可以
4 freeRTOS
修改默认stack size为2048
5 添加touchgfx
如果没有touchgfx,就点这个安装
安装完成之后会在这个目录有touchgfx的安装包
双击安装就可以
如果已经安装好了touchgfx,点击select components
点击了之后发现多了一个software packes
6 配置touchfx
如果出现这个报错, 代表LTDC没配置完
修改frame buffer宽高就可以了
最终touchgfx配置如图
注意buff location 和start address, 这个是sdram地址
最后修改工程堆栈大小, 生成工程
7 touchgfx界面设计
上面生成了工程之后还不能运行, 要用touchgfx来设计界面才可以有图像
每次touchgfx更改了界面设计后, 都要用cubemx来重新生成工程
上面生成工程后, 工程目录有一个文件夹
打开这个设计文件, 这个设计文件就是touchgfx的上位机工程
如果正常的情况,会看到这个界面, 如果没看到就说明你工程出了问题
点击这个工程拖入控件
最终我拖的控件如图
点击右上角生成代码
如果成功下面会显示绿色的done
然后点击cubemx 重新生成代码, 一定要点这重新生成, 不然代码不会生成
8 修改freertos 运行touchgfx
在freertos加入下面代码来运行touchgfx, 如果没加是不会运行touchgfx的
/* USER CODE BEGIN Includes */
#include "app_touchgfx.h"
/* USER CODE END Includes */
/* USER CODE END Header_StartDefaultTask */
void StartDefaultTask(void *argument)
{
/* USER CODE BEGIN StartDefaultTask */
MX_TouchGFX_Process();
/* Infinite loop */
for(;;)
{
osDelay(1);
}
/* USER CODE END StartDefaultTask */
}
9 效果
代码地址:
git: https://github.com/KiritoGoLeon/stm32-HAL-learn/tree/master/stm32_f429_cubemx_touchgfx
csdn: https://download.csdn.net/download/a2267542848/13628090
视频: https://www.bilibili.com/video/BV1cA411s7X7