在STM32上调试ucos+ucguI的触摸时,显示上下左右中5个button,但是按上button时触发的却是右button,调试发现显示区域大小正常,触摸区域大小正常。但就是触摸区域无法与实际的button相对应。
分析原因可能是xy轴不匹配,那就需要分析gui的执行过程,先是判断触摸点,然后在窗口中查询与哪个控件相对应,然后在响应功能,执行过程如下图
通过执行过程发现,x,y轴的点刚好相反,
于是乎一步步查找后发现还有部分没有配置正确,在GUITouchConf.h中,把GUI_TOUCH_SWAP_XY 由1改为0,然后显示正常
#ifndef GUITOUCH_CONF_H
#define GUITOUCH_CONF_H
#define GUI_TOUCH_AD_LEFT 20
#define GUI_TOUCH_AD_RIGHT 240
#define GUI_TOUCH_SWAP_XY 0//1
#define GUI_TOUCH_MIRROR_X 0
#define GUI_TOUCH_MIRROR_Y 0//1