当前位置:首页 > 嵌入式 > 嵌入式软件
[导读] //=====================================================================//TITLE:// 如何让TCC89x支持480x272的分辨率//AUTHOR:// norains//DATE:// Friday 01-April-2

 //=====================================================================

//TITLE:

// 如何让TCC89x支持480x272的分辨率

//AUTHOR:

// norains

//DATE:

// Friday 01-April-2011

//Environment:

// Visual Studio 2005

// Windows CE 6.0

// Telechips TCC8900

//=====================================================================

TCC89x是功能强大的多媒体CPU,其默认支持的分辨率为800x480。如果使用的屏刚好是该分辨率,那么一切都很简单,但如果是另外的分辨率,比如480x272,那么就需要动一番脑力了。

好吧,下面我们就来看看如何设置480x272这个分辨率吧!

一般来说,涉及到设置的问题,我们一般习惯于打开Magellan.bat文件。这次当然也不例外,我们在其中看到有如下的代码段:

@REM *************************************************************

@REM * Display Setting

@REM * RGB888 or RGB565 ex)set RGB888=1

@REM * Display Height ex)set LCDHEIGHT=1E0

@REM * Display Width ex)set LCDWIDTH=320

@REM *************************************************************

set RGB565=1

set LCDHEIGHT=1E0

set LCDWIDTH=320

是不是意味着只要修改LCDHEIGHT和LCDWIDTH就能够实现480x272的分辨率了呢?很遗憾,如果你设置了,并且编译了系统,会发现一切让你很失望,一切都是依旧。在讨论下一步如何去弄之前,我们先看看LCDHEIGHT和LCDWIDTH究竟影响到了哪里。

用软件查找,发现该环境变量在Platform.reg中有定义使用,如下所示:

[HKEY_LOCAL_MACHINE/Drivers/Display/Magellan/CONFIG]

"DisplayDll"="Display.dll"

"LCD_Width"=dword:$(LCDWIDTH)

"LCD_Height"=dword:$(LCDHEIGHT)

但实际上,这个定义是没有任何意义的。因为注册表LCD_Width和LCD_Height这两个数值,会在WinCE跑起来之后,被Display驱动设置回800x480。

打消通过修改Magellan.bat来达到变更分辨率的念头,我们还是先实打实地从头开始如何进行设置吧。在开始之前,我们必须要明确一点,从广义上来说,显示分为两个部分,一个是bootloader,另一个则是WinCE开始跑起来之后。

首先是bootloader,这里需要修改的是./Src/BOOT/lcd.h文件。要修改的有两个地方,先开刀的是lcd_cfg这个数组。我们需要将lcd_cfg[0]设置为所用屏的参数,在这里先给出一个样本,如果实际使用的屏与此不同,大家可自行修改:

[cpp] view plaincopystatic lcd_cfg_t lcd_cfg[3] =

{

// [A0481A 4.3 Color TFT LCD ]

{480, 272, 8, 10, 1, 1, 41, 1, 1, 0xC, 60 },

// [CLAA104XA01CW 10"4 Color TFT LCD (LVDS)]

{1024, 768, 1, 1, 1, 36, 1, 1, 318, 0xC, 60},

// [HT121WX2-103 12"1 Color TFT LCD (LVDS)]

{1280, 800, 1, 1, 3, 20, 1, 10, 150, 0xC, 60 },

};

然后还有DISP_WIDTH和DISP_HEIGHT这两个数值。如果懒得麻烦,可以直接在文件的最后undef这两个宏,然后再重新设置,如下所示:

[cpp] view plaincopy#undef DISP_WIDTH

#undef DISP_HEIGHT

#define DISP_WIDTH 480

#define DISP_HEIGHT 272

如果数值的设置和实际的屏一致的话,那么现在编译boot并烧录,应该已经能看到正常的480x272的界面了。

接下来需要弄的就是WinCE的部分。正如前面所说的,Display驱动会自动调用SetMode(0)函数,可能这样会给我们这样一个感觉,只要修改SetMode函数的调用就可以了。但实际上这想法是不可行的,因为该函数的调用是封装在Telechips的自带的某个lib中,我们是无法更改的。其实,我们完全可以不用理会代码。默认不是调用Mode 0么?我们只要更改Display Mode 0的数值即可。也就是说,我们可以打开platform.reg文件,将LCD_Width0和LCD_Height0分别设置为480和272即可,如下所示:

[HKEY_LOCAL_MACHINE/Drivers/Display/Magellan/CONFIG]

"LCD_Width0"=dword:1E0 ;480

"LCD_Height0"=dword:110 ;272

编译系统,将NK.ROM烧录到板子,可以发现进入WinCE后的界面已经一切正常了。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

7月29日消息,LG Display已将其在美国的70项LCD液晶显示器相关专利转让给三星显示,值得注意的是,三星显示已于三年前退出LCD业务。

关键字: LCD 三星

德国斯图加特 2025年7月2日 /美通社/ -- 国际关键通信协会The Critical Communications Association (以下简称TCCA)宣布...

关键字: 通信 TETRA TC 测试流程

HT16K24操作电压为2.4V~5.5V,内建I²C通信接口,提供三种LCD显示与按键模式:24SEG × 4COM + 24 KEY;22SEG × 6COM + 22 KEY;20SEG × 8COM + 20 K...

关键字: LCD MCU 蜂鸣器

会议议题将涵盖  AI 驱动的工程设计、智能制造以及基于  HPC 和 AI 相结合的智能扩展 上海 2025年6月19日 /美通社/ -- 全球计算智能领域科技公司Altair将于 2025 年 6 月...

关键字: ENGINEERS FOR TC AIR

离线GPS工具:跟踪、保存和查找具有距离和方位的航路点——没有网络,没有云,您的数据,您的规则。

关键字: GPS设备 LCD 微控制器 Arduino Uno

在技术上,LCD和OLED各有其独特之处。液晶电视通过控制液态晶体实现图像显示,其原理是在两片玻璃基板中夹入液态晶体,通过细小的电线控制水晶分子的方向。而OLED凭借自发光二极管带来更优的视角与色彩表现,其RGB色彩信号...

关键字: OLED LCD

苏州 2025年6月3日 /美通社/ -- 2025年5月21日,民航安徽空管分局新桥管制业务楼正式启用。新桥管制业务楼2021年11月奠基施工,2025年5月通过行业验收,内部集结了一系列新系统、新技术和国产化设备,...

关键字: 显示器 TC 安防监控 显卡

3D智造链湾区,跨境出海赢商机,就来TCT深圳展! 上海 2025年5月15日 /美通社/ -- 2025年,TCT品牌将迎来在中国区上海、深圳"双城联动"的全新布局,以更强的资源整合力,驱动增材制造全产业链的升级与...

关键字: TC 金属 3D打印技术 消费电子

双锁系统,通过键盘输入密码开门,客人来了用短信开门

关键字: LCD 双锁系统 L293D 变压器

在汽车显示系统领域,TFT LCD显示屏目前是车载显示面板的主流选择。与此同时,OLED和micro-LED显示屏也逐渐吸引了市场的广泛关注。为了适应不同的显示技术,我们需要开发相应的电源技术。TFT LCD显示屏通常使...

关键字: LCD OLED micro-LED
关闭