STM32
直播中

陈燕

8年用户 1168经验值
私信 关注
[问答]

STM32L4R9ZGT6运行GUI_DELAY为何会清屏?

使用STM32L4R9ZGT6,移植UCOSIII 和STMEMWIN 后,显示字符,显示图片都正常,但是一运行GUI_DELAY就清屏,是怎么回事情?  gui_x_ucosiii 里的相关程序如下int GUI_X_Gettime(void) {
        OS_ERR err;
        return ((int)OSTimeGet( err));   //»ñȡϵͳʱ¼ä,´Ë´¦Ê±¼äµ¥ÔªÎª1ms
}

//GUIÑÓʱº¯Êý
void GUI_X_Delay(int period) {
        
        OS_ERR err;
        CPU_INT32U ticks;
        ticks = (period * 1000) / OSCfg_TickRate_Hz;
        OSTimeDly(ticks,OS_OPT_TIME_DLY, err);//UCOSIIIÑÓʱ²ÉÓÃÖÜÆÚģʽ
}
还有以前使用stemwin时,只有调用GUI_DELAY才能够显示,但是现在不需要了,一调用就清屏了,怎么回事情?还望各位大侠指教




回帖(1)

juju宇哥

2024-4-2 16:41:58
根据您提供的代码和描述,可能的原因是GUI_X_Delay函数在执行时调用了清屏的函数或者清除了屏幕数据。

请检查GUI_X_Delay函数中是否有与屏幕操作相关的代码,并确认是否在该函数中执行了清屏操作。您可以通过打印调试信息或者逐行调试来确定具体哪一行代码触发了清屏。

另外,您还可以在GUI_X_Delay函数的开始和结束位置打印屏幕数据,以及在GUI_X_Delay函数被调用前后打印屏幕数据,以进一步定位问题。

除了GUI_X_Delay函数之外,还可以检查其他可能与清屏相关的函数,例如GUI_X_Init、GUI_X_OnLCD、GUI_X_OffLCD等,确认是否在这些函数中执行了清屏操作。

需要注意的是,移植UCOSIII和STMEMWIN时,可能需要根据具体的需求和硬件平台修改或重新编写一些相关的函数,以确保其与STM32L4R9ZGT6的硬件和软件环境兼容。

如果以上方法无法解决问题,请提供更多相关代码以便我们能够更好地帮助您解决问题。
举报

更多回帖

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