计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

在Windows2000下用多线程实现1394串行总线通信(2)

2016-06-23 01:01
导读:3.2软件结构 基于多线程技术的1394串行总线通信系统软件结构如图2所示。 各模块的功能如下: 1)主线程:响应用户的输入,提供前端的人机交互界面;完

3.2软件结构

基于多线程技术的1394串行总线通信系统软件结构如图2所示。

各模块的功能如下:

1)主线程:响应用户的输入,提供前端的人机交互界面;完成线程的创建、终止及线程间的同步;接收线程发来的消息,并调用相应的线程处理程序;

2)中断处理线程:当接收中断到来时,接收GRF中的数据包放到接收缓冲区rBuf,并向主线程发送接收到数据包的消息,当发送中断到来时,从发送缓冲区sBuf中取出数据包写到ATF中;

3)解释处理程序:从接收缓冲区rBuf中取出数据包进行解释处理后放到dataBuf,并构造响应包放到发送缓冲区sBuf中;

4)初始化程序:初始化串口资源及程序设置;

5)其他程序:从数据缓冲区dataBuf中取数据进行进一步处理,或者给发送缓冲区sBuf中写请求数据包。

该软件采用多线程技术,使前端人机交互部分、中间处理部分和后台的串口通信部分并行处理,让耗时的I/O通信在后台运行,在大数据量通信的情况下对改善程序的响应速度是相当有效的。

3.3程序内容

1394设备机端的程序主要由ISA接口卡的驱动程序、初始化程序、中断处理程序及解释处理程序四大主要部分组成。

3.3.1驱动程序

由于WinDriver具有强大的设备驱动开发能力,支持用户模式下直接对硬件进行访问,并且WinDriver提供的驱动程序开发向导DriverWizard可以自动生成驱动程序框架,大大降低了设备驱动程序的开发难度,减少了开发时间,所以ISA接口卡的驱动程序在WinDriver下开发。驱动程序主要完成对ISA接口卡的I/O地址读写及对硬件中断的处理。该ISA卡的I/O端口地址为:0x300~0x510;中断号为9。

3.3.2初始化程序

上一篇:一种基于软件无线电的通用调制器的设计和实现 下一篇:没有了