历史上的今天
返回首页

历史上的今天

今天是:2025年03月15日(星期六)

2020年03月15日 | STM32 移植 STemwin(Touch)

2020-03-15 来源:eefocus

上篇讲到了STemwin的基本移植步骤,这里再讲下Touch的支持。


驱动好自己的触摸屏,准备好测量X,Y 返回为ADC值的函数。这个一般也不难

准备好GUI_TOUCH_X.C文件,这里比较坑的就是这个文件没有包含在STemwin的包里面(至少5.32里面没有),需要自己写一个,其实内容很简单,如下

#include "GUI.h"

#include "XPT2046.h"


void GUI_TOUCH_X_ActivateX(void) {

}


void GUI_TOUCH_X_ActivateY(void) {

}


int  GUI_TOUCH_X_MeasureX(void) {

  return XPT2046_READ_X();

}


int  GUI_TOUCH_X_MeasureY(void) {

  return XPT2046_READ_Y();

}


添加好X,Y的测量函数, x,y的Activate函数可以空。


回到LCDConf_FlexColor_Template.c文件中增加触屏的校准函数。

#define TOUCH_AD_LEFT 3930 //触摸左上角x轴的AD值(注意是AD值,也叫物理坐标)

#define TOUCH_AD_RIGHT 166 //触摸屏幕右下角边x轴的AD值

#define TOUCH_AD_TOP 3930  //触摸左上角y轴的AD值

#define TOUCH_AD_BOTTOM 233 //触摸右上角y轴的AD值


void LCD_X_Config(void) {


GUI_DEVICE_CreateAndLink(&GUIDRV_Template_API, GUICC_M565, 0, 0);

LCD_SetSizeEx (0, XSIZE_PHYS , YSIZE_PHYS);

LCD_SetVSizeEx(0, VXSIZE_PHYS, VYSIZE_PHYS);


GUI_TOUCH_Calibrate(GUI_COORD_X, 0, 319, TOUCH_AD_LEFT, TOUCH_AD_RIGHT);

GUI_TOUCH_Calibrate(GUI_COORD_Y, 0, 479, TOUCH_AD_TOP, TOUCH_AD_BOTTOM);


}


4.回到Main.c增加 GUI_TOUCH_Exec()


while (1)

  {

GUI_Delay(10);

GUI_TOUCH_Exec();

  }


好了这样就设置好了,很简单吧。

Enjoy!

在这里插入图片描述

推荐阅读

史海拾趣

DART(英国达特)公司的发展小趣事

DART公司成立于英国的一个小城市,最初只有几名工程师和少量的资金。然而,他们凭借着对电子技术的热爱和对创新的不懈追求,逐渐在行业中崭露头角。公司的创始人是一位资深的电子工程师,他带领团队开发了一款具有革命性的新型传感器,这款传感器在精度和稳定性上远超当时的同类产品。这一技术突破为DART公司赢得了第一个重要的客户,也为公司的未来发展奠定了坚实的基础。

Centellax Inc公司的发展小趣事

Centellax深知人才是公司发展的核心动力。因此,公司一直致力于打造一支高素质、专业化的团队。通过招聘优秀的研发、销售、管理等人才,为公司的长期发展提供有力的人才保障。

在团队建设方面,Centellax注重培养员工的团队协作精神和创新能力。通过定期举办团队建设活动、培训课程等,提升员工的凝聚力和归属感。同时,公司还鼓励员工积极参与创新项目,为公司的技术进步和业务发展贡献智慧和力量。

BLT Circuit Services公司的发展小趣事

随着公司实力的不断增强,BLT Circuit Services开始积极拓展国内外市场。公司积极参加各类行业展会,与国内外同行进行深入交流与合作,不断提升公司的知名度和影响力。同时,公司还根据市场需求调整产品策略,推出了一系列符合市场需求的新产品,进一步扩大了市场份额。

Amphenol Thermometrics公司的发展小趣事

BLT Circuit Services公司自创立之初,便专注于电子电路技术的研发与创新。在电子制造行业快速发展的背景下,公司投入大量资源进行技术研发,成功开发出一系列具有市场竞争力的电路板制造技术。这些技术的引入不仅提高了生产效率,还降低了生产成本,使得BLT Circuit Services的产品在市场上脱颖而出。

倍思特(BEST)公司的发展小趣事

随着公司实力的不断增强,BLT Circuit Services开始积极拓展国内外市场。公司积极参加各类行业展会,与国内外同行进行深入交流与合作,不断提升公司的知名度和影响力。同时,公司还根据市场需求调整产品策略,推出了一系列符合市场需求的新产品,进一步扩大了市场份额。

HBH-Microwave公司的发展小趣事

面对日新月异的电子技术和不断变化的市场需求,HBH-Microwave始终保持对技术创新的热情和投入。公司每年都会投入大量资金用于研发新产品和新技术,以确保在激烈的市场竞争中保持领先地位。同时,HBH还积极与高校和研究机构合作,共同开展前沿技术的探索和研究。这种持续的技术创新和研发投入为公司的长远发展提供了源源不断的动力。

问答坊 | AI 解惑

飞思卡尔单片机开发环境

飞思卡尔单片机开发环境,先分享了…

查看全部问答>

第9/15原创:事无巨细,无源蜂鸣器

事无巨细,无源蜂鸣器     CEPARK AVR学习板上,最简单的内容也许就是蜂鸣器了。当然如果你硬要用它来唱歌的话,那还是有点难度的。所以我们还是让它先发出“滴滴“声好了。      先来拓展拓展我们的知识吧(内容部 ...…

查看全部问答>

有关VGA图像显示

我在做一个VGA图像显示的设计,然后采用的是定制ROM的方式。现在问题出在像素点的采集上,即定制ROM时那个.MIF或者.HEX文件里面的像素点怎么得到啊,希望知道的大侠们能指点指点···谢谢!…

查看全部问答>

内存操作的疑问

wince6.0应用程序不能直接访问内存。这是为什么呀?什么原因呀?WINCE5可以吗?为什么不能仿问呀!用MAP成虚拟地址也不能仿问吗?…

查看全部问答>

evc socket有windows通信问题

小弟定义了一个结构体,然后想用来进行windows和wince通信,内容是文件的一些信息。然后把文件从windows传到wince上去。不过每次传都收不到真确的东西。请问我哪里有问题,是wince的Unicode的问题吗?…

查看全部问答>

调试运行不了,报错:管道的另一端上无任何进程

一个DLL,一个exe工程,加载dll使用#pragma comment lib形式,在EVC下可以运行的; 但现在要移植到ce6下,使用vs2005编译通过,部署也成功,但运行不起来,调试发现连APP的构造函数也没运行,就报错提示:管道的另一端上无任何进程。网上搜索没有 ...…

查看全部问答>

STR911SPI做主收不到数据

  GPIO_StructInit(&GPIO_InitStruct);        GPIO_InitStruct.GPIO_Direction = GPIO_PinInput;  GPIO_InitStruct.GPIO_Pin = GPIO_Pin_6;  GP ...…

查看全部问答>

STM32的库在哪里下载,到官网上怎么也打不开

而且怎么是个 flash player的画面,进度条100%后 没了反映,郁闷…

查看全部问答>

求救:T6963c的显示一直有一条横线向下刷

T6963c的显示一直有横线不停的从上向下刷,我在左上角显示的一个字符。只有当那条线刷到最上边时,看一下就没了,不过那个字符是msp430送到LCM的那个。 有没有高人指点一下,是那里出的问题?…

查看全部问答>

NXP简易开发板,Keil如何连接仿真

如题,开发板上M-link需要什么驱动For Keil?…

查看全部问答>