关于2410上LCD移植方面的几点总结.doc_第1页
关于2410上LCD移植方面的几点总结.doc_第2页
关于2410上LCD移植方面的几点总结.doc_第3页
关于2410上LCD移植方面的几点总结.doc_第4页
关于2410上LCD移植方面的几点总结.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

关于2410上LCD移植方面的几点总结(含触摸屏)=LCD部分=分辨率修改1、s2410.h (D:WINCE500PLATFORMSMDK2410INC)#define LCD_XSIZE_TFT (640)#define LCD_YSIZE_TFT (480) 修改为#define LCD_XSIZE_TFT (240)#define LCD_YSIZE_TFT (320)修改时序 (可选的范围很宽,很多时候可以不做修改)1、cfw.c (D:WINCE500PLATFORMSMDK2410KERNELHAL)修改函数 InitDisplay()LCD显示 竖屏改为横屏(不需要修改s2410.h和cfw.c中的任何内容)1、SMDK2440DRIVERSDISPLAYS3C2440LCD 目录下的sources文件合适位置增加:CLEARTYPE=02、s3c2440disp.h文件头上加一句#define ROTATE3、s3c2440disp.cpp中 S3C2440DISP:S3C2440DISP (void)加上#ifdef ROTATEm_iRotate = DMDO_90;SetRotateParms();#endif4、注册表文件wince420platformsmdk2410filesplatform.reg中添加如下键值:HKEY_LOCAL_MACHINESystemGDIROTATION“Angle”=dword:5A“LandscapeMode”=dword:15、修改函数DrvEscape()和DynRotate() ULONG S3C2410DISP:DrvEscape(SURFOBJ *pso,ULONG iEsc,ULONG cjIn,PVOID pvIn,ULONG cjOut,PVOID pvOut)#ifdef ROTATEif (iEsc = DRVESC_GETGAMMAVALUE)return GetGammaValue(ULONG *)pvOut);else if (iEsc = DRVESC_SETGAMMAVALUE)return SetGammaValue(cjIn, *(BOOL *)pvIn); if (iEsc = DRVESC_GETSCREENROTATION)*(int *)pvOut = (DMDO_0 | DMDO_90 | DMDO_180 | DMDO_270) width = m_nScreenWidth;m_pMode-height = m_nScreenHeight;pSurf-SetRotation(m_nScreenWidth, m_nScreenHeight, angle);return DISP_CHANGE_SUCCESSFUL;=触摸屏部分=关于x或者y轴对称tchpdd.cpp(D:WINCE500PLATFORMSMDK2410DRIVERSTOUCHP) #defineINVERSE_X #defineINVERSE_Y 注:体现在函数Touch_CoordinateConversion()中 #ifdef INVERSE_X*px = TOUCH_X*4 - 1 - *px;#endif#ifdefINVERSE_Y*py = TOUCH_Y*4 - 1 - *py;#endifx 和y 的坐标的对调tchpdd.cpp(D:WINCE500PLATFORMSMDK2410DRIVERSTOUCHP)函数Touch_CoordinateConversion()中 #if 1 / x y坐标对调temp = *px;*px = *py;*py = temp;#endif大小移植不一样(例如640*480的bsp要跑在320*240的LCD+触摸屏上)修改 #define LCD_TYPETFT240_320体现在#if ( LCD_TYPE = TFT640_480 )#define TOUCH_MAX_X 1000#define TOUCH_MIN_X 30#define TOUCH_MAX_Y 980#define TOUCH_MIN_Y 30#define TOUCH_X640#define TOUCH_Y480#else #define TOUCH_MAX_X 922/922/955 /950#define TOUCH_MIN_X 75/75/100 /90#define TOUCH_MAX_Y 940/940/925 /960#define TOUCH_MIN_Y 40/40/70 /50#define TOUCH_X240#define TOUCH_Y320#endif修改注册表 (特别重要,千万别忽视,否则触摸屏变化一点规律也没有,找问题还真难)platform.reg(D:WINCE500PLATFORMSMDK2410FILES)修改HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPTOUCHMaxCalError=dword:7; portrait CalibrationData=1267,927 239,1679 251,143 2311,143 2311,1691; CESYSGEN ENDIF CE_MODULES_POINTER ; CESYSGEN IF CE_MODULES_DISPLAY为HKEY_LOCAL_MACHINEHARDWAREDEVICEMAPTOUCHMaxCalError=dword:7; portrait ; Calibr

温馨提示

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

评论

0/150

提交评论