3 GUI系统的自主开发

嵌入式GUI的总体设计思想是把所有操作都由对象和消息驱动,通过对现有GUI的分析来对多种嵌入式应用系统根据GUI的要求进行总结,然后抽象出各种组件类。嵌入式GUI的所有组件和数据都被设计成对象,组件对象通过消息来通信。嵌入式GUI在消息驱动下可形成整体并构成系统。其整体框架和体系结构如图2所示。

嵌入式linux系统GUI如何来实现

系统中的所有消息节点将构成空闲队列和消息队列,其中消息队列存放当前EGUI系统中没有处理的消息。消息队列由消息管理器进行操作和管理。图2中的输入设备抽象层、操作系统抽象层和组件对象集合都是消息发生器,它们都会产生EGUI消息。调用消息管理器的操作可将生成的消息放入到消息队列中。消息管理器用于管理消息队列和空闲队列,当有消息产生时,消息管理器将执行消息入队PUSH ()操作,其处理过程是先从空闲队列中摘下一个节点,形成一个消息节点,再将它挂到消息队列的队尾。桌面对象管理器负责分发消息,它可通过调用消息管理器的出队操作POP()来取得待处理的消息,处理过程是将消息队列的第一个消息节点摘下,并取得该消息节点的信息,然后将该消息节点挂到空闲队列的队尾。桌面对象管理器取得消息后,将按照一定的策略对取得的消息进行分发,并让接收该消息的组件对象中的消息处理函数来处理该消息。分发消息时,如果消息指定了接收对象,则将消息路由到接收对象;而非键盘的系统消息。将被路由到桌面对象管理器的第一个子对象;对于用户定义的消息,系统会将其路由到指定的对象。而组件对象处理消息时,如果处理操作要改变屏幕数据,组件对象将调用绘图操作Draw重绘自己的外观。整个系统就是这样不断地产生消息、分发消息、处理消息,从而形成一个无限循环,同时驱动EGUI运行。

4 结束语

针对当前嵌入式GUI的特点,本文给出了可支持汉字显示、键盘输入的多线程嵌入式GUI系统的设计方法。该方法设计的系统采用窗口模式,而且便于操作,同时具有可视化界面、操作灵活、资源占用少等优点,并可支持JPG格式的图像文件。

责任编辑:ct

关于嵌入式技术就介绍完了,您有什么想法可以联系小编。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查