ST意法半导体
直播中

学电超人

12年用户 789经验值
擅长:微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制
私信 关注
[问答]

我想知道TouchGFX初始化是否适用于stm32h747的视频模式呢?

在 touchgfx designer 为 STM32h747 创建项目后,它可以很好地与 ST 显示配合使用。
我使用的显示器没有 Graphic ram,它只能在视频模式下工作。
我的显示在单个缓冲区视频模式示例中工作正常。(稍作更改后)
对于使用 stm32h747 的 touchGFX 设计器项目,我对 stmcudeMX 进行了更改以适应视频模式,但我的显示器没有显示任何内容。
挖掘代码后:
1)使用调试器我没有看到任何要求:
enableLCDControllerInterrupt()
2)
在主任务中,我没有退出:OSWrappers::waitForVSync();
我发现 waitForVSync() 通过 HAL_DSI_TearingEffectCallback() 退出
但是撕裂效果发生在命令模式下我的理解包括克
不适用于视频模式。
我想知道 touchGFX 初始化是否适用于 stm32h747 的视频模式?
我找到了一个有 stm32f 并使用视频模式的论坛,我看到了线路回调但没有撕裂效果。
我应该屏蔽撕裂效果回调并手动添加线路回调吗?
一般来说,我正在尝试调整 stm32h747 触摸 GFX 设计器项目以使用视频模式。如果有任何说明或我应该手动做什么?(除了 stm32f 系列,我发现了几个例子)










回帖(1)

夏房釜

2022-12-16 10:17:21
你好 ,
最后,显示按预期工作。
我有错误的配置:
我变了  
pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_ARGB8888 ;

pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB888;
比我预期的显示工作。
(根据显示手册,它与 ARGB8888 一起工作,所以我不知道为什么,但是当将 PixelFormat 改回 RGB888 时 touchGFX 工作,即使简单的图像复制也可以与 ARGB8888 一起工作)
所以一般步骤是:
我从 stm32h747 的 touchGFX 设计器开始:
1)STMCUBEMX中,DSIHOST-视频模式
2)显示界面——连发模式
3)touchgfx 到并行 RGB(LTDC)
4)手动添加HAL_LTDC_LineEventCallback
5) 手动移除 TR 回调
6)正确配置pll3 & DSI pll
7) 正确配置所有视频和 ltdc 参数 (V,H BP,FP , ...)
8)外部缓冲区是 sdram 0xd000000(已经来自示例)
9)删除与OTM8009A相关的代码(这不是我的显示器-我没有内部克)
我添加了我的项目,以便其他人可以将 stm32h747 与 touchGFX 和视频模式一起使用。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分