实现VxWorks与Qt通信的消息队列方法技术

技术编号:8532654 阅读:1622 留言:1更新日期:2013-04-04 15:33
一种实现VxWorks与Qt通信的消息队列方法,适用于VxWorks与Qt的混合开发,采用以下步骤:S1、在VxWorks任务中声明并创建一消息列队;S2、在Qt主线程中创建若干Qt子线程,并在若干Qt子线程的外部声明消息列队;S3、若干Qt子线程分别同对应的VxWorks任务通过消息列队机制进行通信。利用VxWorks消息队列阻塞接收机制,实现VxWorks任务与Qt子线程的同步,保证消息队列数据在任务或子线程读写时的原子操作,避免任务死锁。

【技术实现步骤摘要】

本专利技术涉及嵌入式开发领域,特别涉及一种。
技术介绍
Qt是诺基亚开发的一个跨平台的C++图形用户界面应用程序框架。它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。并且Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程;使用Qt开发的软件,相同的代码可以在任何支持的平台上编译与运行,而不需要修改源代码。VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种嵌入式实时操作系统(RT0S),是嵌入式开发环境的关键组成部分。VxWorks操作系统由于其良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。为了结合Qt和VxWorks的优点,目前提出了 VxWorks和Qt相结合的开发模式。然而,Qt用于图形界面处理的线程只能有一个,即主线程QApplication。如果Vxfforks直接和Qt主线程通信,有可能导致Qt主线程因阻塞或延迟而无法连贯处理图形界本文档来自技高网...

【技术保护点】
一种实现VxWorks与Qt通信的消息队列方法,适用于VxWorks与Qt的混合开发,其特征在于,采用以下步骤:S1、在VxWorks任务中声明并创建一消息列队;S2、在Qt主线程中创建若干Qt子线程,并在所述若干Qt子线程的外部声明所述消息列队;S3、所述若干Qt子线程分别同对应的VxWorks任务通过消息列队机制进行通信。

【技术特征摘要】
1.一种实现VxWorks与Qt通信的消息队列方法,适用于VxWorks与Qt的混合开发,其特征在于,采用以下步骤 51、在VxWorks任务中声明并创建一消息列队; 52、在Qt主线程中创建若干Qt子线程,并在所述若干Qt子线程的外部声明所述消息列队; 53、所述若干Qt子线程分别同对应的VxWorks任务通过消息列队机制进行通信。2.如权利要求1所述的实现VxWorks与Qt通信的消息队列方法,其特征在于,在步骤S3中,所述通过消息列队机制进行通信包括 51、一第一Qt子线程阻塞接收所述消息列队,并发送给所述Qt主线程; 52、所述Qt主线程释放一反馈数据至一第二Qt子线程; 53、所述第二Qt子线程阻塞接收该反馈数据,并反馈给该消息列队; 54、Vxfforks任务阻塞接收...

【专利技术属性】
技术研发人员:高宇刘成芳丁宝华顾少华
申请(专利权)人:上海航天测控通信研究所
类型:发明
国别省市:

网友询问留言 已有1条评论
  • 来自[未知地区] 2014年12月05日 14:13
    队列现象在军事活动中是一个重要现象它是构成一切军事活动的重要基础
    0
1