STM32
直播中

卓侨汉

9年用户 1156经验值
擅长:MEMS/传感技术
私信 关注
[问答]

STemWIN32建立touch用touch_calibrate正常但建立BUTTON无响应怎么解决?

STemWIN32 建立touch 用touch_calibrate正常但建立BUTTON无响应,高手指点

回帖(2)

李建

2024-4-18 09:41:20
个人认为应该从以下方面看看:
1)        检查Touch是否工作正常(从I2C或者SPI能够获取是否按下,以及按下的坐标)
2)        通过检查传入GUI_TOUCH_StoreStateEx()的参数,来确认这些信息是否正确送入了STemWin Framework。注意这个接口需要周期性的被调用,可以用一个定时器中断回调
3)        如果以上没问题,则可以做一个最小系统再试试:
-        只有背景窗口加一个Button,
-        这个Button尽量大,最好跟整个屏幕一样大,来避免Touch不准
举报

dplion5

2024-4-18 18:14:12
如果使用STemWIN32建立touch时,touch_calibrate正常,但建立BUTTON没有响应,可以尝试以下几个解决方法:

1. 检查代码逻辑:请确保在建立BUTTON时,代码逻辑正确,没有遗漏或错误的地方。确认BUTTON的回调函数是否正确绑定。

2. 检查BUTTON参数:确认BUTTON的位置、大小、文本内容、显示属性等参数设置是否正确。可能存在BUTTON被其他界面元素遮挡的情况,导致无法响应。

3. 检查触摸屏驱动:确认触摸屏驱动是否正确安装,并与STemWIN32适配。建议查阅STemWIN32的文档或示例代码,确保正确配置触摸屏相关参数及驱动。

4. 检查触摸坐标转换:根据触摸屏坐标与屏幕坐标之间的转换关系,确保按钮的位置与触摸点的坐标匹配。你可以使用DEBUGGER调试器,查看触摸坐标与BUTTON位置是否一致。

5. 检查触摸中断处理:如果触摸屏使用了中断方式处理触摸事件,在BUTTON响应函数内确认中断是否正确被触发,并将触摸事件传递到BUTTON的回调函数中。

6. 检查系统时间:有时候BUTTON无响应的原因可能是由于处理运算量较大,导致系统繁忙,无法及时响应BUTTON的触摸事件。可以尝试使用延时函数,给系统一定的处理时间,然后再处理BUTTON的触摸事件。

希望以上方法能够帮助你解决问题。如果还有其他疑问,请提供更多的细节和代码进行分析。
举报

更多回帖

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