初级会员
- 积分
- 69
- 金钱
- 69
- 注册时间
- 2019-6-19
- 在线时间
- 14 小时
|
10金钱
在移植F767的RGB屏过程中发现一个奇怪的事情,就是在激活MULTIBUF之后,触屏的光标就会冻住,没有任何反应,然而从串口输出的坐标数据来看,触摸屏是在工作的。
不管是在main()函数中注释掉调用WM_MULTIBUF_Enable(1);或者在Lin文件中把#define NUM_BUFFERS 3改为1以屏蔽GUI_MULTIBUF_ConfigEx()的调用,反正只要不激活MULTIBUF,看起来就是正常的。否则光标就会一动不动。
Lin驱动是基于F756的例程修改的,核心内容没有动。不论是裸机还是带操作系统,都会发生这种情况。
恳请高手予以指点!
main函数的相关内容:
。。。硬件初始化。。。
// WM_MULTIBUF_Enable(1);
GUI_Init();
WM_SetCreateFlags(WM_CF_MEMDEV);
GUI_CURSOR_Show();
GUI_SetBkColor(GUI_BLUE);
GUI_SetColor(GUI_YELLOW);
GUI_Clear();
GUI_SetFont(&GUI_Font32_ASCII);
GUI_DispStringHCenterAt("Hello, world!", 400, 200);
/* Infinite loop */
while (1)
{
GUI_Delay(100);
}
触屏处理的接口函数:
int GUI_TOUCH_X_MeasureX(void)
{
Goodix_TS_ReadPoints();
if(lcdltdc.dir==1)
return TouchPoints.points[0].x;
else
return TouchPoints.points[0].y;
}
int GUI_TOUCH_X_MeasureY(void)
{
Goodix_TS_ReadPoints();
if(lcdltdc.dir==1)
return TouchPoints.points[0].y;
else
return TouchPoints.points[0].x;
}
|
|