CN112433805B - 液晶显示屏的模拟方法和系统 - Google Patents
液晶显示屏的模拟方法和系统 Download PDFInfo
- Publication number
- CN112433805B CN112433805B CN202011492759.8A CN202011492759A CN112433805B CN 112433805 B CN112433805 B CN 112433805B CN 202011492759 A CN202011492759 A CN 202011492759A CN 112433805 B CN112433805 B CN 112433805B
- Authority
- CN
- China
- Prior art keywords
- lcd
- displayed
- image
- client
- shared memory
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09F—DISPLAYING; ADVERTISING; SIGNS; LABELS OR NAME-PLATES; SEALS
- G09F9/00—Indicating arrangements for variable information in which the information is built-up on a support by selection or combination of individual elements
- G09F9/30—Indicating arrangements for variable information in which the information is built-up on a support by selection or combination of individual elements in which the desired character or characters are formed by combining individual elements
- G09F9/35—Indicating arrangements for variable information in which the information is built-up on a support by selection or combination of individual elements in which the desired character or characters are formed by combining individual elements being liquid crystals
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Chemical & Material Sciences (AREA)
- Crystallography & Structural Chemistry (AREA)
- Controls And Circuits For Display Device (AREA)
- Digital Computer Display Output (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种液晶显示屏的模拟方法和系统,应用于运行在上位机的LCD客户端和LCD服务端,该方法包括:在写入过程中,LCD客户端运行预先编写的GUI程序,并实时地将运行GUI程序而得到的待显示图像写入预先确定的共享内存;待显示图像显示有GUI程序运行时生成的图形用户界面;在显示过程中,LCD服务端定时从共享内存读取LCD客户端写入的待显示图像;每读取到一个待显示图像,在LCD服务端的显示窗口绘制待显示图像,使显示窗口模拟显示液晶显示屏上的图形用户界面。本方案能够直接在上位机模拟出GUI程序运行后液晶显示屏上的显示结果,使得开发人员在调试过程中不需要反复将修改后的GUI程序编译并加载到单片机中,提高了控制液晶显示屏的GUI程序的调试效率。
Description
技术领域
本发明涉及自动控制技术领域,特别涉及一种液晶显示屏的模拟方法和系统。
背景技术
液晶显示屏(Liquid Crystal Display,LCD)是目前在各种自动化设备中广泛应用的一种显示屏,将LCD和单片机连接后,单片机可以通过运行相应的程序控制LCD的显示内容。
为了方便用户使用,目前多数自动化设备都需要需要在LCD上显示图形用户界面(Graphical User Interface,GUI),为此,需要先在上位机中编写好GUI程序,然后在单片机对应的嵌入式编译环境中编译GUI程序,将编译后的GUI程序加载到单片机,单片机通过运行编译后的GUI程序即可控制LCD显示相应的图形用户界面。
可以理解的,调试GUI程序时,需要在上位机中对GUI程序进行多次修改,并且每次修改后都需要观察修改后的GUI程序运行时产生的图形用户界面是否符合要求。
在上述控制方案中,调试GUI程序时每完成一次修改,都需要重新执行编译和下载的操作才能够看到修改后的GUI程序运行时产生的图形用户界面,导致用于控制液晶显示屏的GUI程序的调试效率较低。
发明内容
基于上述现有技术的缺点,本申请提供一种液晶显示屏的模拟方法和系统,以提高用于液晶显示屏的GUI程序的调试效率。
本申请第一方面提供一种液晶显示屏的模拟方法,应用于LCD客户端和LCD服务端,所述LCD客户端和所述LCD服务端均运行于上位机;所述模拟方法包括:
由所述LCD客户端执行的写入过程:
运行预先编写的GUI程序,并实时地将运行所述GUI程序而得到的待显示图像写入预先确定的共享内存;其中,所述待显示图像显示有所述GUI程序运行时生成的图形用户界面;
由所述LCD服务端执行的显示过程:
按一定时间间隔定时从所述共享内存读取所述LCD客户端写入的待显示图像;
每读取到一个待显示图像,在所述LCD服务端的显示窗口绘制所述待显示图像,使所述显示窗口模拟显示液晶显示屏上的图形用户界面。
可选的,所述实时地将运行所述GUI程序而得到的待显示图像写入预先确定的共享内存之后,还包括:
每写入一个所述待显示图像,将所述共享内存的显存标识设置为有效标识;
所述按一定时间间隔定时从所述共享内存读取所述LCD客户端写入的待显示图像之后,还包括:
每读取到一个待显示图像,将所述共享内存的显存标识设置为无效标识。
可选的,所述实时地将运行所述GUI程序而得到的待显示图像写入预先确定的共享内存之前,还包括:
根据所述共享内存中的服务端心跳标识判断所述LCD服务端是否正常运行;
若判断出所述LCD服务端未正常运行,暂停执行所述实时地将运行所述GUI程序而得到的待显示图像写入预先确定的共享内存步骤,直至所述LCD服务端恢复正常运行;
若判断出所述LCD服务端正常运行,执行所述实时地将运行所述GUI程序而得到的待显示图像写入预先确定的共享内存步骤。
可选的,所述按一定时间间隔定时从所述共享内存读取所述LCD客户端写入的待显示图像之前,还包括:
根据所述共享内存中的客户端心跳标识判断所述LCD客户端是否正常运行;
若判断出所述LCD客户端未正常运行,暂停执行所述按一定时间间隔定时从所述共享内存读取所述LCD客户端写入的待显示图像步骤,直至所述LCD客户端恢复正常运行;
若判断出所述LCD客户端正常运行,执行所述按一定时间间隔定时从所述共享内存读取所述LCD客户端写入的待显示图像步骤。
可选的,所述由所述LCD服务端执行的显示过程,还包括:
响应于用户针对所述LCD服务端的虚拟按键的点击指令,将所述点击指令对应的按键信息写入所述共享内存;
所述由所述LCD客户端执行的写入过程,还包括:
将所述共享内存中的按键信息传递至所述GUI程序,使所述GUI程序生成与所述按键信息对应的图形用户界面。
本申请第二方面提供一种液晶显示屏的模拟系统,包括LCD客户端和LCD服务端;
所述LCD客户端包括:
运行单元,用于运行预先编写的GUI程序,并实时地将运行所述GUI程序而得到的待显示图像写入预先确定的共享内存;其中,所述待显示图像显示有所述GUI程序运行时生成的图形用户界面;
所述LCD服务端包括:
读取单元,用于按一定时间间隔定时从所述共享内存读取所述LCD客户端写入的待显示图像;
绘制单元,用于每读取到一个待显示图像,在所述LCD服务端的显示窗口绘制所述待显示图像,使所述显示窗口模拟显示液晶显示屏上的图形用户界面。
可选的,所述LCD客户端还包括:
设置单元,用于每写入一个所述待显示图像,将所述共享内存的显存标识设置为有效标识;
所述LCD服务端还包括:
设置单元,用于每读取到一个待显示图像,将所述共享内存的显存标识设置为无效标识。
可选的,所述LCD客户端还包括:
判断单元,用于根据所述共享内存中的服务端心跳标识判断所述LCD服务端是否正常运行;
所述写入单元用于:
若判断出所述LCD服务端未正常运行,暂停执行所述实时地将运行所述GUI程序而得到的待显示图像写入预先确定的共享内存步骤,直至所述LCD服务端恢复正常运行;
若判断出所述LCD服务端正常运行,执行所述实时地将运行所述GUI程序而得到的待显示图像写入预先确定的共享内存步骤。
可选的,所述LCD服务端还包括:
判断单元,用于根据所述共享内存中的客户端心跳标识判断所述LCD客户端是否正常运行;
所述读取单元用于:
若判断出所述LCD客户端未正常运行,暂停执行所述按一定时间间隔定时从所述共享内存读取所述LCD客户端写入的待显示图像步骤,直至所述LCD客户端恢复正常运行;
若判断出所述LCD客户端正常运行,执行所述按一定时间间隔定时从所述共享内存读取所述LCD客户端写入的待显示图像步骤。
可选的,所述LCD服务端还包括:
响应单元,用于响应于用户针对所述LCD服务端的虚拟按键的点击指令,将所述点击指令对应的按键信息写入所述共享内存;
所述LCD客户端还包括:
传递单元,用于将所述共享内存中的按键信息传递至所述GUI程序,使所述GUI程序生成与所述按键信息对应的图形用户界面。
本申请提供一种液晶显示屏的模拟方法和系统,应用于运行在上位机的LCD客户端和LCD服务端,该方法包括:在写入过程中,LCD客户端运行预先编写的GUI程序,并实时地将运行GUI程序而得到的待显示图像写入预先确定的共享内存;待显示图像显示有GUI程序运行时生成的图形用户界面;在显示过程中,LCD服务端定时从共享内存读取LCD客户端写入的待显示图像;每读取到一个待显示图像,在LCD服务端的显示窗口绘制待显示图像,使显示窗口模拟显示液晶显示屏上的图形用户界面。本方案能够直接在上位机模拟出GUI程序运行后液晶显示屏上的显示结果,使得开发人员在调试过程中不需要反复将修改后的GUI程序编译并加载到单片机中,提高了控制液晶显示屏的GUI程序的调试效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种液晶显示屏的模拟方法的流程图;
图2为本申请实施例提供的一种LCD客户端的显示窗口的示意图;
图3为本申请实施例提供的一种液晶显示屏的模拟系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供了一种液晶显示屏的模拟方法,该方法主要由运行在上位机(指代任意一种通用计算机设备,例如,个人电脑PC,工作站等)的LCD客户端(LCD Client)和LCD服务端(LCD Server)执行,LCD客户端和LCD服务端均为运行于上位机的计算机程序,其中LCD服务端用于模拟液晶显示屏的显示功能,LCD客户端则用于模拟连接与液晶显示屏的单片机的控制功能。利用本申请提供的模拟方法,不需要将GUI程序编译并加载到单片机,就可以直接在上位机中看到GUI程序运行后呈现的图形用户界面。
因此,在GUI程序的开发和调试过程中,就不需要反复地对上位机中编写的GUI程序进行编译和加载,显著的提高了控制液晶显示屏的GUI程序的开发和调试效率。
请参考图1,本申请提供的液晶显示屏的模拟方法,可以包括如下步骤:
S101、LCD客户端运行预先编写的GUI程序。
GUI程序,又称图形用户界面程序,GUI程序被运行后可以产生图形用户界面,通过在液晶显示屏上展示图形用户界面,可以让用户方便地读出系统当前的参数和状态,使得电子设备和用户之间的交互形式更符合人的阅读习惯。
S102、LCD客户端实时地将运行GUI程序而得到的待显示图像写入预先确定的共享内存。
其中,待显示图像显示有GUI程序运行时生成的图形用户界面。
共享内存,是上位机的存储介质中预先分配具有一定大小的一个内存块,该内存块可以被LCD客户端和LCD服务端访问。
在本实施例中,共享内存可以是一块大小为128+1024*768*2字节(byte)的内存块,其中,前128个字节用于存储有关标识和指令,剩余1024*768*2字节的空间则用于存储步骤S102中的待显示图像。
需要说明的是,上述共享内存每次可以存储一张待显示图像,假设LCD客户端在写入一张待显示图像A之后,继续写入另一张待显示图像B,则后写入的待显示图像B会覆盖待显示图像A。
具体的,一张待显示图像由多个像素点组成,每一个像素点均由坐标数据(表征像素点在图像中的位置)和颜色数据(可以用RGB-16格式的颜色数据,一个像素点的颜色数据占2字节,该数据表征像素点的颜色)组成,步骤S102中将待写入图像写入共享内存,相当于是,依据像素点在待显示图像中的位置,按照先行后列,从左到右,从上到下的顺序,将待显示图像中的各个像素点的颜色数据写入共享内存1024*768*2字节的空间中,所有像素点的颜色数据均写入后,就完成了将一张待显示图像写入至共享内存的过程。
S103、LCD服务端定时从共享内存读取待显示图像。
LCD服务端具体可以从共享内存中按照LCD客户端的写入顺序逐一读取每一个像素点的颜色数据,同时根据读取的顺序确定这些颜色数据所属的像素点的坐标,在共享内存中存储的颜色数据全部读取完毕后,就完成从共享内存读取一张待显示图像的过程。
S104、LCD服务端在显示窗口绘制待显示图像,使显示窗口模拟显示液晶显示屏上的图形用户界面。
具体来说,在执行步骤S104时,LCD服务端可以依据像素点在待显示图像中的坐标,以及每个像素点的颜色,然后根据像素点的坐标和颜色,将待显示图像的每一个像素点逐一在显示窗口内显示,待显示图像的每一个像素点均显示在显示窗口内之后,这些像素点就组合成了GUI程序输出的图形用户界面。
如图2所示,通过在显示窗口绘制待显示图像,用户就可以在LCD服务端的显示窗口看到GUI程序输出的图形用户界面,以及图形用户界面中携带的相关信息。
本申请提供一种液晶显示屏的模拟方法,应用于运行在上位机的LCD客户端和LCD服务端,该方法包括:在写入过程中,LCD客户端运行预先编写的GUI程序,并实时地将运行GUI程序而得到的待显示图像写入预先确定的共享内存;待显示图像显示有GUI程序运行时生成的图形用户界面;在显示过程中,LCD服务端定时从共享内存读取LCD客户端写入的待显示图像;每读取到一个待显示图像,在LCD服务端的显示窗口绘制待显示图像,使显示窗口模拟显示液晶显示屏上的图形用户界面。本方案能够直接在上位机模拟出GUI程序运行后液晶显示屏上的显示结果,使得开发人员在调试过程中不需要反复将修改后的GUI程序编译并加载到单片机中,提高了控制液晶显示屏的GUI程序的调试效率。
LCD客户端的写入和LCD服务端的读取可能发生冲突,这里的冲突是指,在LCD客户端尚未完全将待写入图像写入共享内存时,LCD服务端就开始从共享内存读取图像。为了避免上述冲突,可以将前述共享内存的前128字节中的第12至15字节确定为显存标识,在此基础上:
LCD客户端只有在显存标识为无效标识的时候,才开始执行步骤S102,每次执行完步骤S102之后,也就是将一张待显示图像完全写入共享内存之后,将共享内存的显存标识设置为有效标识。
相应的,LCD服务端只有在显存标识为有效标识时才执行从共享内存读取待显示图像的动作,并且,在成功读取出一张待显示图像之后(即步骤S103执行结束之后),将共享内存的显存标识设置为无效标识。
这样,每次LCD客户端写入待显示图像的过程中,显存标识均为无效标识,从而阻止LCD服务端在写入待显示图像的过程中进行读取,同时,每次LCD服务端在读取待显示图像的过程中,显存标识均为有效标识,从而阻止LCD客户端在读取待显示图像的过程中进行写入。
可选的,LCD服务端运行过程中可能会出现错误,导致无法正常从共享内存读取并绘制待显示图像,此时应当停止向共享内存写入图像。针对这一情况,可以将共享内存前128个字节中第0至3字节确定为LCD服务端的服务端心跳标识,LCD服务端正常运行的过程中,按一定的更新频率实时的更新服务端心跳标识。例如,服务端心跳标识可以被设置为第一标识和第二标识,LCD服务端正常运行的时候,可以每经过10ms(毫秒)就更新一次服务端心跳标识,如在T时刻将服务端心跳标识设置为第一标识,在T+10ms时刻将服务端心跳标识设置为第二标识,在T+20ms时刻又将服务端心跳标识设置为第一标识,以此类推。
由此,LCD客户端在向共享内存写入待显示图像之前,可以根据共享内存中的服务端心跳标识判断LCD服务端是否正常运行,
若判断出LCD服务端未正常运行,暂停执行实时地将运行GUI程序而得到的待显示图像写入预先确定的共享内存步骤,直至LCD服务端恢复正常运行;
若判断出LCD服务端正常运行,执行实时地将运行GUI程序而得到的待显示图像写入预先确定的共享内存步骤。
判断LCD服务端是否正常运行的方法可以是,检测服务端心跳标识是否按前述更新频率更新。结合上述例子,若经过10ms之后,发现共享内存中的服务端心跳标识未发生变更,则判断出LCD服务端未正常运行,反之,若通过读取服务端心跳标识,发现服务端心跳标识每经过10ms更新一次,则判断出LCD服务端正常运行。
类似的,共享内存中也可以设置表征LCD客户端是否正常运行的客户端心跳标识,具体来说,可以将共享内存前128个字节中第4至7字节设置为客户端心跳标识,LCD客户端同样按设定的更新频率实时更新客户端心跳标识,如从第一标识变更为第二标识,从第二标识变更为第一标识(请参考LCD服务端的更新过程)。
在此基础上,LCD服务端在读取待显示图像之前,可以根据共享内存中的客户端心跳标识判断LCD客户端是否正常运行;
若判断出LCD客户端未正常运行,暂停执行按一定时间间隔定时从共享内存读取LCD客户端写入的待显示图像步骤,直至LCD客户端恢复正常运行;
若判断出LCD客户端正常运行,执行按一定时间间隔定时从共享内存读取LCD客户端写入的待显示图像步骤。
判断LCD客户端是否正常运行的方法可以是,检测客户端心跳标识是否按前述更新频率更新。结合上述例子,若经过10ms之后,发现共享内存中的客户端心跳标识未发生变更,则判断出LCD客户端未正常运行,反之,若通过读取客户端心跳标识,发现客户端心跳标识每经过10ms更新一次,则判断出LCD客户端正常运行。
进一步的,目前的液晶显示屏一般都配置有对应的键盘(可以是真实存在的物理键盘,也可以是液晶显示屏上呈现的可点击的虚拟键盘),用户可以通过点击键盘上的按钮输入相应的操作指令或数据,从而与控制液晶显示屏的单片机交互。
为了模拟这一功能,如图2所示,LCD服务端的显示窗口一侧可以显示有虚拟按键,在开发和调试GUI程序的过程中,技术人员可以操作上位机的鼠标(或其他具有类似功能的外接设备)点击虚拟按键,从而模拟液晶显示屏实际使用过程中用户对键盘的点击。
相应的,在用户(GUI程序的开发和调试过程中,用户指代负责开发和调试的技术人员)点击LCD服务端的虚拟按键之后,LCD服务端可以响应于用户针对LCD服务端的虚拟按键的点击指令,将点击指令对应的按键信息写入共享内存。
具体的,共享内存前128字节中的第8至第11字节可以用于保存上述点击指令,因此,LCD服务端可以将用户的点击指令写入共享内存前128字节中的第8至第11字节。
然后,LCD客户端可以将共享内存中的按键信息传递至GUI程序,使GUI程序生成与按键信息对应的图形用户界面。
LCD客户端可以从共享内存前128字节中的第8至第11字节读取出用户的点击指令,然后将点击指令以参数的形式传递给LCD客户端所运行的GUI程序,若GUI程序中编写了用于处理用户对虚拟按键的点击指令进行处理的代码,则这部分代码会对传递过来的点击指令进行处理,处理结果则会反映在GUI程序下一次输出的图形用户界面上,通过这种方式,就可以在上位机中模拟实现用户和液晶显示屏的GUI程序的互动,实现不同内容的显示。
结合本申请任一实施例提供的液晶显示屏的模拟方法,本申请实施例还提供一种液晶显示屏的模拟系统,请参考图3,该模拟系统可以包括LCD客户端和LCD服务端;
其中,LCD客户端包括:
运行单元301,用于运行预先编写的GUI程序。
写入单元302,用于实时地将运行GUI程序而得到的待显示图像写入预先确定的共享内存。
其中,待显示图像显示有GUI程序运行时生成的图形用户界面。
LCD服务端包括:
读取单元303,用于按一定时间间隔定时从共享内存读取LCD客户端写入的待显示图像。
绘制单元304,用于每读取到一个待显示图像,在LCD服务端的显示窗口绘制待显示图像,使显示窗口模拟显示液晶显示屏上的图形用户界面。
可选的,LCD客户端还包括:
设置单元305,用于每写入一个待显示图像,将共享内存的显存标识设置为有效标识。
LCD服务端还包括:
设置单元306,用于每读取到一个待显示图像,将共享内存的显存标识设置为无效标识。
可选的,LCD客户端还包括:
判断单元307,用于根据共享内存中的服务端心跳标识判断LCD服务端是否正常运行。
写入单元302用于:
若判断出LCD服务端未正常运行,暂停执行实时地将运行GUI程序而得到的待显示图像写入预先确定的共享内存步骤,直至LCD服务端恢复正常运行;
若判断出LCD服务端正常运行,执行实时地将运行GUI程序而得到的待显示图像写入预先确定的共享内存步骤。
可选的,LCD服务端还包括:
判断单元308,用于根据共享内存中的客户端心跳标识判断LCD客户端是否正常运行;
读取单元303用于:
若判断出LCD客户端未正常运行,暂停执行按一定时间间隔定时从共享内存读取LCD客户端写入的待显示图像步骤,直至LCD客户端恢复正常运行;
若判断出LCD客户端正常运行,执行按一定时间间隔定时从共享内存读取LCD客户端写入的待显示图像步骤。
可选的,LCD服务端还包括:
响应单元309,用于响应于用户针对LCD服务端的虚拟按键的点击指令,将点击指令对应的按键信息写入共享内存。
LCD客户端还包括:
传递单元310,用于将共享内存中的按键信息传递至GUI程序,使GUI程序生成与按键信息对应的图形用户界面。
本申请实施例提供的液晶显示屏的模拟系统,其具体工作原理可以参考本申请任一实施例提供的液晶显示屏的模拟方法中的对应步骤,此处不再详述。
本申请提供一种液晶显示屏的模拟系统,包括运行在上位机的LCD客户端和LCD服务端,其中,在写入过程中,LCD客户端的运行单元301运行预先编写的GUI程序,写入单元302实时地将运行GUI程序而得到的待显示图像写入预先确定的共享内存;待显示图像显示有GUI程序运行时生成的图形用户界面;在显示过程中,LCD服务端的读取单元303定时从共享内存读取LCD客户端写入的待显示图像;每读取到一个待显示图像,绘制单元304在LCD服务端的显示窗口绘制待显示图像,使显示窗口模拟显示液晶显示屏上的图形用户界面。本方案能够直接在上位机模拟出GUI程序运行后液晶显示屏上的显示结果,使得开发人员在调试过程中不需要反复将修改后的GUI程序编译并加载到单片机中,提高了控制液晶显示屏的GUI程序的调试效率。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种液晶显示屏的模拟方法,其特征在于,应用于LCD客户端和LCD服务端,所述LCD客户端和所述LCD服务端均运行于上位机;所述模拟方法包括:
由所述LCD客户端执行的写入过程:
运行预先编写的GUI程序,并实时地将运行所述GUI程序而得到的待显示图像写入预先确定的共享内存;其中,所述待显示图像显示有所述GUI程序运行时生成的图形用户界面;
每写入一个所述待显示图像,将所述共享内存的显存标识设置为有效标识;
由所述LCD服务端执行的显示过程:
按一定时间间隔定时从所述共享内存读取所述LCD客户端写入的所述待显示图像;
每读取到一个所述待显示图像,将所述共享内存的显存标识设置为无效标识;
每读取到一个所述待显示图像,在所述LCD服务端的显示窗口绘制所述待显示图像,使所述显示窗口模拟显示液晶显示屏上的图形用户界面。
2.根据权利要求1所述的模拟方法,其特征在于,所述实时地将运行所述GUI程序而得到的待显示图像写入预先确定的共享内存之前,还包括:
根据所述共享内存中的服务端心跳标识判断所述LCD服务端是否正常运行;
若判断出所述LCD服务端未正常运行,暂停执行所述实时地将运行所述GUI程序而得到的待显示图像写入预先确定的共享内存步骤,直至所述LCD服务端恢复正常运行;
若判断出所述LCD服务端正常运行,执行所述实时地将运行所述GUI程序而得到的待显示图像写入预先确定的共享内存步骤。
3.根据权利要求1所述的模拟方法,其特征在于,所述按一定时间间隔定时从所述共享内存读取所述LCD客户端写入的待显示图像之前,还包括:
根据所述共享内存中的客户端心跳标识判断所述LCD客户端是否正常运行;
若判断出所述LCD客户端未正常运行,暂停执行所述按一定时间间隔定时从所述共享内存读取所述LCD客户端写入的所述待显示图像步骤,直至所述LCD客户端恢复正常运行;
若判断出所述LCD客户端正常运行,执行所述按一定时间间隔定时从所述共享内存读取所述LCD客户端写入的所述待显示图像步骤。
4.根据权利要求1所述的模拟方法,其特征在于,所述由所述LCD服务端执行的显示过程,还包括:
响应于用户针对所述LCD服务端的虚拟按键的点击指令,将所述点击指令对应的按键信息写入所述共享内存;
所述由所述LCD客户端执行的写入过程,还包括:
将所述共享内存中的按键信息传递至所述GUI程序,使所述GUI程序生成与所述按键信息对应的图形用户界面。
5.一种液晶显示屏的模拟系统,其特征在于,包括LCD客户端和LCD服务端;
所述LCD客户端包括:
运行单元,用于运行预先编写的GUI程序;
写入单元,用于实时地将运行所述GUI程序而得到的待显示图像写入预先确定的共享内存;其中,所述待显示图像显示有所述GUI程序运行时生成的图形用户界面;
设置单元,用于每写入一个所述待显示图像,将所述共享内存的显存标识设置为有效标识;
所述LCD服务端包括:
读取单元,用于按一定时间间隔定时从所述共享内存读取所述LCD客户端写入的所述待显示图像;
设置单元,用于每读取到一个所述待显示图像,将所述共享内存的显存标识设置为无效标识;
绘制单元,用于每读取到一个所述待显示图像,在所述LCD服务端的显示窗口绘制所述待显示图像,使所述显示窗口模拟显示液晶显示屏上的图形用户界面。
6.根据权利要求5所述的模拟系统,其特征在于,所述LCD客户端还包括:
判断单元,用于根据所述共享内存中的服务端心跳标识判断所述LCD服务端是否正常运行;
所述写入单元用于:
若判断出所述LCD服务端未正常运行,暂停执行所述实时地将运行所述GUI程序而得到的待显示图像写入预先确定的共享内存步骤,直至所述LCD服务端恢复正常运行;
若判断出所述LCD服务端正常运行,执行所述实时地将运行所述GUI程序而得到的待显示图像写入预先确定的共享内存步骤。
7.根据权利要求5所述的模拟系统,其特征在于,所述LCD服务端还包括:
判断单元,用于根据所述共享内存中的客户端心跳标识判断所述LCD客户端是否正常运行;
所述读取单元用于:
若判断出所述LCD客户端未正常运行,暂停执行所述按一定时间间隔定时从所述共享内存读取所述LCD客户端写入的所述待显示图像步骤,直至所述LCD客户端恢复正常运行;
若判断出所述LCD客户端正常运行,执行所述按一定时间间隔定时从所述共享内存读取所述LCD客户端写入的所述待显示图像步骤。
8.根据权利要求5所述的模拟系统,其特征在于,所述LCD服务端还包括:
响应单元,用于响应于用户针对所述LCD服务端的虚拟按键的点击指令,将所述点击指令对应的按键信息写入所述共享内存;
所述LCD客户端还包括:
传递单元,用于将所述共享内存中的按键信息传递至所述GUI程序,使所述GUI程序生成与所述按键信息对应的图形用户界面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011492759.8A CN112433805B (zh) | 2020-12-17 | 2020-12-17 | 液晶显示屏的模拟方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011492759.8A CN112433805B (zh) | 2020-12-17 | 2020-12-17 | 液晶显示屏的模拟方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112433805A CN112433805A (zh) | 2021-03-02 |
CN112433805B true CN112433805B (zh) | 2023-05-23 |
Family
ID=74696636
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011492759.8A Active CN112433805B (zh) | 2020-12-17 | 2020-12-17 | 液晶显示屏的模拟方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112433805B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103500326A (zh) * | 2013-10-16 | 2014-01-08 | 东南大学 | 一种嵌入式指纹采集仪 |
CN105808321A (zh) * | 2016-03-14 | 2016-07-27 | 深圳市创想天空科技股份有限公司 | 按键模拟系统与方法 |
CN108228130A (zh) * | 2018-01-11 | 2018-06-29 | 北京安博通科技股份有限公司 | 一种嵌入式设备的液晶屏显示方法及装置 |
CN109597595A (zh) * | 2018-10-29 | 2019-04-09 | 广州市中海达测绘仪器有限公司 | 液晶显示屏的控制方法、装置、计算机设备和存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11221749B2 (en) * | 2016-10-31 | 2022-01-11 | Lenovo (Singapore) Pte. Ltd. | Electronic device with touchpad display |
-
2020
- 2020-12-17 CN CN202011492759.8A patent/CN112433805B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103500326A (zh) * | 2013-10-16 | 2014-01-08 | 东南大学 | 一种嵌入式指纹采集仪 |
CN105808321A (zh) * | 2016-03-14 | 2016-07-27 | 深圳市创想天空科技股份有限公司 | 按键模拟系统与方法 |
CN108228130A (zh) * | 2018-01-11 | 2018-06-29 | 北京安博通科技股份有限公司 | 一种嵌入式设备的液晶屏显示方法及装置 |
CN109597595A (zh) * | 2018-10-29 | 2019-04-09 | 广州市中海达测绘仪器有限公司 | 液晶显示屏的控制方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112433805A (zh) | 2021-03-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4885717A (en) | System for graphically representing operation of object-oriented programs | |
CN108287657B (zh) | 技能施加方法及装置、存储介质、电子设备 | |
US9575652B2 (en) | Instantiable gesture objects | |
US20110173589A1 (en) | Cross-Browser Interactivity Testing | |
JP2002511161A (ja) | ビジュアル・ディスプレイ・オブジェクト・ファイル用エミュレータおよびその動作方法 | |
CN110075519B (zh) | 虚拟现实中的信息处理方法及装置、存储介质及电子设备 | |
US10853152B2 (en) | Touch application programming interfaces | |
JP2008506184A (ja) | コンテンツ生成用の自動画像キャプチャ | |
CN112579187A (zh) | 一种应用程序冷启动的优化方法及装置 | |
CN108958630A (zh) | 书写内容显示方法、装置及电子设备 | |
CN110781067A (zh) | 一种启动耗时的计算方法、装置、设备和存储介质 | |
US6182242B1 (en) | Generic device driver simulator and method | |
CN112668290A (zh) | 基于网格化设计的动态表单生成方法及系统 | |
CN110781425A (zh) | 移动端h5页面的显示方法、装置、设备及存储介质 | |
CN112433805B (zh) | 液晶显示屏的模拟方法和系统 | |
CN112614403A (zh) | 硬件仿真方法及装置 | |
EP1025489B1 (en) | System to associate control with applications using drag and drop interface | |
CN104714806B (zh) | 基于人机界面系统的脚本处理方法及装置 | |
CN113867580B (zh) | 窗口内指针的显示控制方法及装置、设备、存储介质 | |
EP4086755A1 (en) | Robotic process automation (rpa) comprising automatic document scrolling | |
US20220019411A1 (en) | Systems and methods for device-specific code completion | |
CN110209242B (zh) | 按钮功能绑定、按钮功能调用方法、装置及投影控制设备 | |
Barsotti et al. | A web framework for cross-device gestures between personal devices and public displays | |
CN113760317A (zh) | 一种页面显示方法、装置、设备及存储介质 | |
CN112367295A (zh) | 插件展示方法及装置、存储介质及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |