您的位置 首页 模拟

STM32裸机上移植ucGUI触摸屏的过程及办法解析

STM32裸机上移植ucGUI触摸屏的步骤及方法解析-1、将正点原子的《触摸屏移植实验》中HARDWRAE/TOUCH目录复制到已经建立好的ucGUI工程目录的HARDWARE文件夹下,并添加touch.c文件和头文件路径。

2、打开ucGUI工程中的GUIConf.h文件,将其中的GUI_SUPPORT_TOUCH和GUI_WINSUPPORT总开关打开。如下所示:

1#define GUI_SUPPORT_TOUCH 1 /* Support a touch screen (req. win-manager) */2#define GUI_WINSUPPORT 1 /* Window manager package available */

此时编译程序,会出现四个函数未定义的错误。

STM32裸机上移植ucGUI接触屏的进程详述如下:

1、将正点原子的《接触屏移植试验》中HARDWRAE/TOUCH目录复制到现已建立好的ucGUI工程目录的HARDWARE文件夹下,并增加touch.c文件和头文件途径。

2、翻开ucGUI工程中的GUIConf.h文件,将其间的GUI_SUPPORT_TOUCH和GUI_WINSUPPORT总开关翻开。如下所示:

1#define GUI_SUPPORT_TOUCH 1 /* Support a touch screen (req. win-manager) */2#define GUI_WINSUPPORT 1 /* Window manager package available */

此刻编译程序,会呈现四个函数未定义的过错。

3、在GUI_X中增加文件GUI_X_Touch.c,此刻编译工程过错消失。

4、在GUI_X_Touch.c中增加预处理指令#include “touch.h”。然后将其间的GUI_TOUCH_X_MeasureX和GUI_TOUCH_X_MeasureY两个函数改为如下所示的方式:

01intGUI_TOUCH_X_MeasureX(void) {02u16 x,y;03Read_ADS2(&x,&y);04returnx;05}06

07intGUI_TOUCH_X_MeasureY(void) {08u16 x,y;09Read_ADS2(&x,&y);10returny;11}

5、由所以在裸机上运转ucGUI程序,对话框程序会堵塞当时进程的履行。所以需求在定时器中止中不断的去扫描接触屏的状况。设置定时器10ms中止一次,在定时器中止处理函数中参加GUI_TOUCH_Exec()句子。

6、在主函数中参加初始化定时器和接触屏,并在GUI_Init()函数之后参加GUI_CURSOR_Show函数以显现指针。

7、以上就完成了接触屏的移植操作,下面临接触屏的作业状况进行装备。因为我的显现屏是横屏显现,所以我的将GUITouchConf.h文件装备成如下方式:

1#define GUI_TOUCH_AD_LEFT 2312#define GUI_TOUCH_AD_RIGHT 18343#define GUI_TOUCH_AD_TOP 3384#define GUI_TOUCH_AD_BOTTOM 17645

6#define GUI_TOUCH_SWAP_XY 17#define GUI_TOUCH_MIRROR_X 08#define GUI_TOUCH_MIRROR_Y 0

关于运用正点原子STM32 Mini开发板的同学能够试试上面的参数。假如GUI_TOUCH_AD_XXXX这四个参数很重要,装备不合适会呈现指针停留在左上角不动,指针跟接触的方位不平等问题。下面三个参数设置不合适会呈现指针移动的方向跟接触的方向不一致的问题。

上面四个参数的设置需求读取接触屏的左上角和右下角的AD采样值来确认。

8、接触屏的运用需求窗口等回调函数的支撑,应首要移植好一个窗口程序之后再将接触屏移植上去进行验证。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/moni/346249.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部