文档简介
本文对Windows NT 操作系统的多线程同步机制和同步对象进行了分析,以其在检测仪和经纬仪同步通信程序开发中的应用为例,论述了如何通过共享事件来实现应用程序和设备驱动程序的同步通信,并给出了同步驱动程序的实现原理和具体编写步骤。关键字:多线程;同步对象;Windows NT;设备驱动程序应用程序与驱动程序的常规通信是通过驱动程序预留接口 ioctl 等函数实现的,驱动程序的编写者也以实现这些调用为己任。但在某些情况下仅仅完成这些调用还不能满足用户的真正需要。比如,应用程序要随时知道底层硬件的中断情况,以便做出相应的处理。由于Windows NT 禁止应用程序对硬件中断直接访问,所以需要使用设备驱动程序跨越操作系统边界来截获硬件中断,实现用户程序和驱动程序的同步通信。完成这种同步通信需要利用多线程的同步对象来实现,即利用Event 事件实现二者间的通信。检测仪是用来检测经纬仪外场工作状态并解算系统跟踪精度的仪器。它模拟中心机向经纬仪发送引导数据,同时接收来自经纬仪的实测数据,以检测经纬仪的工作是否正常。检测仪内置时统卡,提供20Hz 中断同步信号,检测仪和经纬仪按照这一频率进行同步通信。因此,本文详细介绍如何利用共享事件机制,编写底层驱动程序,将时统卡提供的20Hz 中断信号及时通知上层应用程序,完成检测仪和经纬仪的同步通信。
评论
加载更多
推荐下载
查看更多
精选文集
相关视频
推荐帖子