CN101000588A - 一种动态识别lcd模组的方法 - Google Patents
一种动态识别lcd模组的方法 Download PDFInfo
- Publication number
- CN101000588A CN101000588A CN 200610157599 CN200610157599A CN101000588A CN 101000588 A CN101000588 A CN 101000588A CN 200610157599 CN200610157599 CN 200610157599 CN 200610157599 A CN200610157599 A CN 200610157599A CN 101000588 A CN101000588 A CN 101000588A
- Authority
- CN
- China
- Prior art keywords
- lcd
- module
- function
- lcd module
- modx
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000005516 engineering process Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 3
- 239000011800 void material Substances 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 208000003464 asthenopia Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Landscapes
- Control Of Indicators Other Than Cathode Ray Tubes (AREA)
Abstract
本发明公开了一种动态识别LCD模组的方法,包括步骤:a:定义全局性的驱动函数指针数组;b:当更换LCD模组并初始化时,依次调用不同LCD模组ID识别函数得到模组ID;c:判断得到的模组ID与更换的LCD模组ID是否一致,如果是,进入步骤d,否则,返回步骤b;d:将已识别的LCD模组各驱动函数指针赋值至全局性的LCD驱动函数指针数组中。本发明使得在所支持的LCD模组中,随意更换其中的任一个模组后,不需要更新嵌入式设备的程序,只需重新开机,即可实现LCD的正常显示,一方面解决了程序在ROM上,无法更新LCD模组问题;另一方面使更换LCD变得方便容易,而且提高生产效率,降低产品的生产成本。
Description
技术领域
本发明涉及嵌入式技术领域,尤其涉及一种动态识别LCD模组的方法。
背景技术
LCD为英文Liquid Crystal Display的缩写,即液晶显示器,是一种数字显示技术,可以通过液晶和彩色过滤器过滤光源,在平面面板上产生图像。
现有的很多嵌入式设备中都用到了LCD,比如,电脑显示器、手机屏幕、PDA屏幕、电子辞典以及液晶电视等,LCD拥有许多传统的阴极射线管(CRT)显示技术所不具备的优势,能够提供更加清晰的文本显示,而且屏幕无闪烁,从而能够有效降低长时间注视屏幕所产生的视觉疲劳。LCD显示器的厚度一般不超过10英寸,因此,如果桌面系统采用LCD技术的话将会节省更大空间。
但是,在嵌入式设备的研发,生产,维修的工程中,由于技术、成本的需要,经常会用到不同型号的LCD模组,而且不同的LCD模组具有不同的LCD驱动程序,因此当更换LCD模组时,必须更新具有对应LCD驱动的内嵌程序,这样,一方面增加了很多不便,浪费工作时间;令一方面,如果程序在ROM上则无法更新程序,因而也就不能更新LCD模组了。
发明内容
本发明要解决的技术问题是提供一种动态识别LCD模组的方法,使得在嵌入式设备中更新LCD模组时,可自动调用对应的LCD驱动程序。
为解决上述技术问题,本发明的目的是通过以下技术方案实现的。
一种动态识别LCD模组的方法,包括步骤:
a:定义全局性的驱动函数指针数组;
b:当更换LCD模组并初始化时,依次调用不同LCD模组ID识别函数得到模组ID;
c:判断得到的模组ID与更换的LCD模组ID是否一致,如果是,进入步骤d,否则,返回步骤b;
d:将已识别的LCD模组各驱动函数指针赋值至全局性的LCD驱动函数指针数组中。
其中,所述全局性驱动函数指针为g_LCD_init、g_LCD_On、g_LCD_Off和g_LCD_Disp。
其中,所述LCD模组驱动函数指针为初始化函数LCD_MODx_Init();LCD打开函数LCD_MODx_On();LCD关闭函数LCD_MODx_Off();LCD显示函数LCD_MODx_Disp()。
其中,所述LCD模组驱动函数指针还包括LCD ID号读取函数LCD_MODx_GetDrvID()。
其中,所述LCD模组驱动函数指针中,功能相同的函数其函数原型相同。
以上技术方案可以看出,本发明具有以下有益效果:
本发明使得在所支持的LCD模组中,随意更换其中的任一个模组后,不需要更新嵌入式设备的程序,只需重新开机,即可实现LCD的正常显示,一方面解决了程序在ROM上,无法更新LCD模组问题;另一方面使更换LCD变得方便容易,而且提高生产效率,降低产品的生产成本。
附图说明
图1为本发明方法流程图。
具体实施方式
本发明核心思想是:利用不同的LCD驱动IC具有不同的ID号这一特点,在硬件设计时,将所支持的各LCD模组与主板的接口设计为相同。在生成嵌入式设备的内置程序时,将所支持的各种型号LCD的驱动程序同时连接进来。在软件设计时,定义一全局性的驱动函数指针数组,作为上层调用LCD驱动的接口。当程序进行LCD初始化时,依次调用不同的LCD模组的ID识别函数,当得到的LCD模组ID号与期望的ID号一致时,则说明正在使用的LCD驱动函数就是外接的LCD模组对应的驱动函数,这样就将这个LCD模组各驱动函数的指针赋值至全局性的LCD驱动函数指针数组中,以供上层调用来操作LCD。从而可以使得在所支持的LCD模组中,随意更换其中的任一个模组后,不需更新嵌入式设备的程序,只需重新开机,即可以实现LCD的正常显示。
为便于对本发明进一步理解,现结合附图对本发明进行详细描述。
请参阅图1所示本发明方法流程图,包括:
步骤101:定义全局性的驱动函数指针数组;
首先,在每个LCD驱动程序中,都设计一组如下的函数:
LCD ID号读取函数LCD_MODx_GetDrvID();
LCD初始化函数LCD_MODx_Init();
打开LCD函数LCD_MODx_On();
关闭LCD函数LCD_MODx_Off();
LCD显示函数LCD_MODx_Disp();
另外再定义一组全局性的函数指针g_LCD_init、g_LCD_On、g_LCD_Off、g_LCD_Disp,这些函数指针供外部调用,作为上层操作LCD的接口;
其中,在上述函数组中,功能相同的函数其函数原型相同,如LCD DriverC1E2的初始化函数void LCD_C1E2_Init(void)与R61500的初始化函数voidLCD_R61500_Init(void)原型相同。
步骤102:初始化LCD;
步骤103:选取一个要识别的LCD模组;
步骤104:调用一个LCD模组的ID识别函数,得到ID;
其中,先调用初始化函数LCD_MODx_Init()对LCD进行初始化,再调用LCD_MODx_GetDriverID()来读取LCD ID号,并作为函数值返回。
步骤105:判断取得的模组ID与选择的LCD模组ID是否一致,如果是,进入步骤106;否则,返回步骤103继续选择下一个模组;
步骤106:将已识别的LCD模组的各驱动函数指针赋值至全局性的LCD驱动结构对应的字段中;
如:将LCD初始化函数LCD_MODx_Init()、打开LCD函数LCD_MODx_On()、关闭LCD函数LCD_MODx_Off()、LCD显示函数LCD_MODx_Disp()分别赋值给全局性函数g_LCD_init()、g_LCD_On()、g_LCD_Off()、g_LCD_Disp();
步骤107:调用已识别模组的LCD初始化函数作为更新的LCD模组的驱动程序去驱动LCD工作。
下面结合具体实施例做进一步描述:
假设某设备可动态支持三个LCD模组,LCD_MOD1、LCD_MOD2、LCD_MOD3,其对应的Driver IC的ID分别为MOD1_ID、MOD2_ID、MOD3_ID;
先调用LCD_MOD1的ID号读取函数LCD_MOD1_GetDrvID,如读取的ID号为MOD1_ID,则说明外接的LCD模组为LCD_MOD1,则将LCD_MOD1对应的函数LCD_MOD1_Init、LCD_MOD1_On、LCD_MOD1_Off、LCD_MOD1_Disp分别赋值至g_LCD_init、g_LCD_、g_LCD_On、g_LCD_Off、g_LCD_Disp中。如读取的ID号不为MOD1_ID,则说明外接的LCD模组不为LCD_MOD1,再调用LCD_MOD2的ID号读取函数,判断外接LCD模组是否为LCD_MOD2,如读取的ID号为MOD2_ID,则说明外接的LCD模组为LCD_MOD2,则将LCD_MOD2对应的函数LCD_MOD2_Init、LCD_MOD2_On、LCD_MOD2_Off、LCD_MOD2_Disp分别赋值至g_LCD_init、g_LCD_、g_LCD_On、g_LCD_Off、g_LCD_Disp中。如读取的ID号不为MOD2_ID,则说明外接的LCD模组不为LCD_MOD2,再调用LCD_MOD3的ID号读取函数,判断外接LCD模组是否为LCD_MOD3,依此类推,最终将正确的LCD模组的驱动函数指针赋值至对应的全局函数指针中。
综上所述,本发明中通过LCD_Dynamic_Load()函数,根据ID号动态判断,将外接LCD模组驱动函数指针赋值至全局性的函数指针中,供外部调用。从而可以使得在所支持的LCD模组中,随意更换其中的任一个模组后,不需更新嵌入式设备的程序,只需重新开机,即可以实现LCD的正常显示。
以上对本发明所提供的一种动态识别LCD模组的方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (5)
1、一种动态识别LCD模组的方法,其特征在于,包括步骤:
a:定义全局性的驱动函数指针数组;
b:当更换LCD模组并初始化时,依次调用不同LCD模组ID识别函数得到模组ID;
c:判断得到的模组ID与更换的LCD模组ID是否一致,如果是,进入步骤d,否则,返回步骤b;
d:将已识别的LCD模组各驱动函数指针赋值至全局性的LCD驱动函数指针数组中。
2、如权利要求1所述动态识别LCD模组的方法,其特征在于:所述全局性驱动函数指针为g_LCD_init、g_LCD_On、g_LCD_Off和g_LCD_Disp。
3、如权利要求1或2所述动态识别LCD模组的方法,其特征在于:所述LCD模组驱动函数指针为初始化函数LCD_MODx_Init();LCD打开函数LCD_MODx_On();LCD关闭函数LCD_MODx_Off();LCD显示函数LCD_MODx_Disp()。
4、如权利要求1或2所述动态识别LCD模组的方法,其特征在于:所述LCD模组驱动函数指针还包括LCD ID号读取函数LCD_MODx_GetDrvID()。
5、如权利要求4所述动态识别LCD模组的方法,其特征在于:所述LCD模组驱动函数指针中,功能相同的函数其函数原型相同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610157599 CN101000588A (zh) | 2006-12-20 | 2006-12-20 | 一种动态识别lcd模组的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200610157599 CN101000588A (zh) | 2006-12-20 | 2006-12-20 | 一种动态识别lcd模组的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101000588A true CN101000588A (zh) | 2007-07-18 |
Family
ID=38692567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200610157599 Pending CN101000588A (zh) | 2006-12-20 | 2006-12-20 | 一种动态识别lcd模组的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101000588A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102385833A (zh) * | 2011-11-18 | 2012-03-21 | 深圳Tcl新技术有限公司 | 平板电视及其显示器的驱动方法 |
CN103077040A (zh) * | 2011-10-26 | 2013-05-01 | 康佳集团股份有限公司 | Lcd模块自动识别方法及系统 |
CN108962132A (zh) * | 2017-05-27 | 2018-12-07 | 杭州视芯科技有限公司 | Led显示装置及其主控制器和控制方法 |
CN114995919A (zh) * | 2022-08-03 | 2022-09-02 | 海的电子科技(苏州)有限公司 | 自适应配置mipi模组初始化代码的方法及设备 |
-
2006
- 2006-12-20 CN CN 200610157599 patent/CN101000588A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103077040A (zh) * | 2011-10-26 | 2013-05-01 | 康佳集团股份有限公司 | Lcd模块自动识别方法及系统 |
CN102385833A (zh) * | 2011-11-18 | 2012-03-21 | 深圳Tcl新技术有限公司 | 平板电视及其显示器的驱动方法 |
CN102385833B (zh) * | 2011-11-18 | 2015-04-22 | 深圳Tcl新技术有限公司 | 平板电视及其显示器的驱动方法 |
CN108962132A (zh) * | 2017-05-27 | 2018-12-07 | 杭州视芯科技有限公司 | Led显示装置及其主控制器和控制方法 |
CN108962132B (zh) * | 2017-05-27 | 2020-09-18 | 杭州视芯科技有限公司 | Led显示装置及其主控制器和控制方法 |
CN114995919A (zh) * | 2022-08-03 | 2022-09-02 | 海的电子科技(苏州)有限公司 | 自适应配置mipi模组初始化代码的方法及设备 |
CN114995919B (zh) * | 2022-08-03 | 2023-01-13 | 海的电子科技(苏州)有限公司 | 自适应配置mipi模组初始化代码的方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105679230A (zh) | 一种显示驱动电路、其驱动方法及显示装置 | |
CN102662708B (zh) | 一种Linux操作系统及其显卡驱动装置 | |
US20120052912A1 (en) | Method for calling phone number and mobile phone using the same | |
CN101566909A (zh) | 多窗口操作界面显示方法 | |
US20070074181A1 (en) | Method and system for parent/child application integration | |
CN101719356A (zh) | 一种液晶显示器多接口同时烧录edid的烧录方法 | |
CN101159814A (zh) | 嵌入式设备摄像头软件动态识别方法 | |
CN101000588A (zh) | 一种动态识别lcd模组的方法 | |
CN102750072A (zh) | 加速更新画面的显示方法 | |
CN102270415A (zh) | 内置系统型tft-lcd液晶显示模组 | |
CN102693111B (zh) | 一种Android移动终端支持不同分辨率的方法 | |
CN102253842A (zh) | 一种efi平台下的显示屏调屏方法、系统及设备 | |
CN114201627A (zh) | 一种用于电子墨水屏的显示方法、装置、设备及存储介质 | |
CN107452306B (zh) | 一种用于检测显示面板的工装治具及其检测方法 | |
CN101944328B (zh) | 背光控制的方法及其装置 | |
CN102855128A (zh) | 基于安卓内核的界面系统的实现方法 | |
CN112242122A (zh) | 一种基于安卓系统的双屏显示方法、装置及系统 | |
CN104049856A (zh) | 手持终端的输入模式的设置系统及设置方法 | |
CN115923512A (zh) | 一种仪表屏显示信息的方法、装置、电子设备和车辆 | |
CN103077040A (zh) | Lcd模块自动识别方法及系统 | |
CN105159503A (zh) | 一种移动终端触摸屏驱动加载的控制方法及系统 | |
CN116047259A (zh) | 检测系统及检测方法 | |
CN112835623A (zh) | 一种基于eeprom的设备兼容装置及方法 | |
US20070008276A1 (en) | Interface unit and interface transmission method thereof | |
CN116884342B (zh) | Led控制模组、电子设备及控制系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20070718 |