ilovefengshulin 发表于 2020-3-9 14:52:22

TouchGFX多屏切换无过渡效果,求解?

软件平台:1.KEIL_5.292.TouchGFX_4.133. STM32CubeMX_5.50硬件平台:STM32F746GDISC(屏幕已被我更换为800X480分辨率的屏幕)问题描述:   使用STM32CubeMX配置并生成工程,然后通过TouchGFXDesigner设计两个screen,分别为screen1和screen2。工作流程是screen1显示后,等待2s,然后切换到screen2。就这么简单。在TouchGFXDesigner通过仿真后,可以看到screen1切换到screen2中间会有平滑过渡效果(附件有仿真程序,可以直接运行),但是通过MDK编译后,下载到板子时,screen1切换到screen2没有看到平滑过渡效果,是screen1显示完后,等待2s,直接跳到screen2(或许有过渡效果,只是切换速度太快,看不到而已吗?)。求解释?   源程序太大无法上传,我放在百度网盘。链接:https://pan.baidu.com/s/1j5P6djYyPB41H65GBDWdfA提取码:ymj3

你若安好_清风徐来 发表于 2020-3-10 09:34:51

多屏切换是有过渡效果,屏幕越大过渡效果越差,F4驱动大屏幕还是不要搞过渡效果,我使用F7驱动1024×600过度效果就是PPT,驱动800×480的过度效果就还可以,换一个小屏幕试一试把

ilovefengshulin 发表于 2020-3-12 15:04:29

结贴,问题已解决。附加解决方法:

1.打开TouchGFXGeneratedHAL.CPP文件。

2.找到void TouchGFXGeneratedHAL::initialize()这个函数,里面有一个设置帧缓存器地址的函数setFrameBufferStartAddresses((void*)0xC0000000, (void*)0xC0119400, (void*)0),这个函数的第一个参数为帧缓存器第一个起始地址,第二个参数为帧缓存器第二个起始地址(我这里使用的是双缓存器,如果是但缓存器,可以设置为0),第三个参数为动画缓存器,默认为0(就是禁止动画效果),设置为其他值则开启动画效果,动画缓存器的大小和帧缓存器的大小一样,只要地址不和帧缓存器的地址重叠就行。
页: [1]
查看完整版本: TouchGFX多屏切换无过渡效果,求解?