基于ARM触摸屏的实现_第1页
基于ARM触摸屏的实现_第2页
基于ARM触摸屏的实现_第3页
基于ARM触摸屏的实现_第4页
基于ARM触摸屏的实现_第5页
已阅读5页,还剩16页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

UCOSIIUCGUIS3C2410LCD触摸屏整合作者佚名来源不详录入ADMIN更新时间2008818145754点击数240【字体】环境ADS22ARM9S3C2410注意由于编译器(ADS12或22)对全局变量初始化为0的不完全支持,有时必须手动初始化为0,切记一、UCOSII移植到ARM9S3C2410可从官网下载移植代码,基本无需改动。在OS_CPU_AS中的函数UCOS_IRQHANDLER中的BLOSINTENTER和BLC_IRQHANDLER之间插入如下代码(见邵贝贝,第2版,第104页的说明L3184)LDRR0,OSINTNESTINGLDRBR0,R0CMPR0,1BNEXXLDRR0,OSTCBCURLDRR1,R0STRSP,R1STORESPINPREEMPTEDTASKSSTCBXX二、UCGUI390移植到ARM9S3C24101LCD驱动1)画点函数对DM2410实验板上的LCD,左上为原点(0,0),函数如下VOIDLCD2410_SETPIXELINTXP,INTYP,U16COLOR,INTDINDEXPLCDBUFFER565SCREEN_WIDTHYPXPCOLOR为了达到更快的显示速度,别忘了开启CACHE2)LCD控制器的初始化,对2410函数如下INTLCD2410_INITVOIDIFISLCDINITINITLCDPORTINITLCDREGSISLCDINIT1RETURN0RETURN1VOIDINITLCDPORTVOID/LCDPORTINITIALIZES2410IOPGPCUP0XFFFFFFFFS2410IOPGPCCON0XAAAAAAAAS2410IOPGPDUP0XFFFFFFFFS2410IOPGPDCON0XAAAAAAAAS2410IOPGPGCONS2410LCDLCDSADDR3LCD_XSIZE_TFTLCD_XSIZE_TFT/1LCDINTMSK|3/MASKLCDSUBINTERRUPTS2410LCDLPCSEL/DISABLELPC3600S2410LCDTPAL0/DISABLETEMPPALETTES2410LCDLCDCON1|1其中,部分变量、常量定义如下DEFINELCD_XSIZE_TFT800DEFINELCD_YSIZE_TFT480DEFINEHOZVAL_TFTLCD_XSIZE_TFT1DEFINELINEVAL_TFTLCD_YSIZE_TFT1DEFINEMVAL13DEFINEMVAL_USED1DEFINEEACH_FRAME0/STN/CSTNTIMINGPARAMETERFORLCBHBT161MNANYADEFINEWLH3DEFINEWDLY3DEFINELINEBLANK13)填写配置文件LCDCONFHDEFINELCD_XSIZE800/XRESOLUTIONOFLCD,LOGICALCOOR/DEFINELCD_YSIZE480/YRESOLUTIONOFLCD,LOGICALCOOR/DEFINELCD_BITSPERPIXEL16DEFINELCD_CONTROLLER1DEFINELCD_SWAP_RB_012触摸屏驱动触摸屏驱动计算出触摸屏的坐标(X,Y),对DM2410实验板上的触摸屏,左下为原点,但不一定是(0,0)。两个函数1)设置中断向量,开中断VOIDSETTSINTERRUPTVOIDRADCDLY50000RADCCON1PLCD_HLPCONTEXTPAFONTGUI_DEFAULT_FONTPCONTEXTPCLIPRECT_HLPCONTEXTPENSIZE1PCONTEXTDRAWMODEGUI_DRAWMODE_NORMAL/ADDPCONTEXTTEXTMODEGUI_TEXTMODE_NORMAL/ADDPCONTEXTTEXTALIGNGUI_TA_LEFT|GUI_TA_TOP/ADDPCONTEXTAA_HIRESENABLE0/ADD/VARIABLESINWMMODULE/IFGUI_WINSUPPORTPCONTEXTHAWINWM_GETDESKTOPWINDOWENDIF/VARIABLESINGUI_AAMODULE/PCONTEXTAA_FACTOR3LCD_SETBKCOLORGUI_DEFAULT_BKCOLORLCD_SETCOLORGUI_DEFAULT_COLOR修改如下函数为(位于GUIALLOCC)VOIDGUI_ALLOC_INITVOIDGUI_ALLOCNUMUSEDBYTES0MEMSET/SELFABLOCK0SIZE1OSTCBPRIOVOIDGUI_X_WAITEVENTVOIDINT8UERRVOIDOSMBOXPENDEVENTMBOX,0,VOIDGUI_X_SIGNALEVENTVOIDVOIDOSMBOXPOSTEVENTMBOX,VOID1VOIDGUI_X_INITOSVOIDDISPSEMOSSEMCREATE1EVENTMBOXOSMBOXCREATEVOID0VOIDGUI_X_EXECIDLEVOIDGUI_X_DELAY1VOIDGUI_X_INITVOIDSETTSINTERRUPT/此处接入触摸屏的中断设置GUI_TOUCH_SETDEFAULTCALIBRATION/用默认值校准触摸屏四、与触摸屏有关的函数1、4个功能函数VOIDGUI_TOUCH_X_ACTIVATEXVOID/空VOIDGUI_TOUCH_X_ACTIVATEYVOID/空INTGUI_TOUCH_X_MEASUREXVOIDRETURNTX/返回触摸坐标XINTGUI_TOUCH_X_MEASUREYVOIDRETURNTY/返回触摸坐标Y2、触摸屏校准任务(进程,来自示例程序TOUCH_CALIBRATEC)IFTOUCH_NEED_CALIBRATESTATICCONSTCHAR_ACPOS“UPPERLEFTPOSITION“,“LOWERRIGHTPOSITION“STATICVOID_WAITFORPRESSEDSTATEINTPRESSEDGUI_PID_STATESTATE/WAITUNTILTOUCHISPRESSED/DOGUI_TOUCH_GETSTATEIFSTATEPRESSEDPRESSEDBREAKGUI_DELAY100WHILE1STATICVOID_DISPSTRINGCENTEREDCONSTCHARPSTRINGGUI_RECTRECTRECTX0RECTY00RECTX1LCD_GETXSIZE1RECTY1LCD_GETYSIZE1GUI_DISPSTRINGINRECTPSTRING,STATICVOID_GETPHYSVALUESINTLOGX,INTLOGY,INTPPHYSX,INTPPHYSY,CONSTCHARPSTRINGCHARACTEXT“PRESSHERE“GUI_RECTRECTINTFONTSIZEY,ALIGNFONTSIZEYGUI_GETFONTSIZEYGUI_CLEARGUI_SETCOLORGUI_BLACK_DISPSTRINGCENTERED“RUNTIMECALIBRATION,N“PLEASETOUCHTHESCREENN“ATTHECENTEROFTHERING“/ASKUSERTOPRESSTHETOUCH/CALCULATETHERECTANGLEFORTHESTRING/RECTY0LOGYFONTSIZEYRECTY1LOGYFONT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论