基于C语言的数据通信接口软件设计的论文-软件工程论文.docx

基于C语言的数据通信接口软件设计的论文-软件工程论文.docx

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

??

?

??

基于C语言的数据通信接口软件设计的论文

软件工程论文

?

??

?

?

?

?

?

?

???

?

?

?

?

?

?

基于c语言的数据通信接口软件设计

根据gpib总线的特点和gpib接口在仪器仪表中的广泛应用,系统采用d7210c和75160bn,75161bn实现了gpib接口电论文联盟http://路,接口电路实现了双向、异步、准确可靠的数据通信任务。软件部分设计主要用到的是gpib的win32api函数驱动库。通过dll调用技术可以完成api函数库封装的对gpib设备初始化、读取数据、写入数据或命令以及清除等各种控制操作。

1数据通信接口实现

根据gpib接口特点,采用d7210c和75160bn,75161bn芯片按照如下电路可以实现计算机与仪器与测量系统间的数据通信。

图1数据通信接口电路

2对gpib接口的初始化方法

voidgpib_init()//gpib初始化

{

xbyte[0x0500]=0x02;//芯片复位

xbyte[0x0500]=0x2c;//置位外部计数发生器

xbyte[0x0500]=0x8c;//设置为8bits数据传送

xbyte[0x0500]=0xa8;//低电平中断

xbyte[0x0500]=0xc0;//进入准备

xbyte[0x0100]=0x03;//设输入输出产生中断

xbyte[0x0400]=0x31;//设受命方式为1

xbyte[0x0600]=0x20;//设程控地址

xbyte[0x0600]=0xc0;//设程控地址为15

xbyte[0x0700]=0x0a;//设结束字符为“0x0a”(回车)

xbyte[0x0500]=0;//立即执行,产生本地消息

}

3数据接收函数

voidrec488()//数据接收

{

charidatatem48,tem88;

charidatai,j;

tem48=xbyte[0x0100];

if((tem480x08)==0x08)//产生器件清除中断

{

;//不执行任何指令

}

elseif((tem480x04)==0x04)//出错中断

{

xbyte[0x0100]=0x08;//器件清除

return;

}

elseif((tem480x01)==0x01)//收到数据,将数据存到pdtem[]数组

{

i=0;

for(j=0;j18;j++)

pdtem[j]=0;

tem88=xbyte[0x0000];

while(tem88!=0x0a)//遇到结束符0x0a则接收完毕

{

pdtem[i]=tem88;

i++;

tem48=xbyte[0x0100];

while((tem480x01)!=0x01)

tem48=xbyte[0x0100];

tem88=xbyte[0x0000];

}

strjudge();//接收完毕进入数据处理程序

4数据处理函数

voidstrjudge()//数据处理

转贴于论文联盟http://

{

if(strncmp(pdtem,data,4)==0)//判断接收到的指令(如果前四个字符为data0)

{

……

……

……//执行相应操作论文联盟http://

send_data(pdtem);//将要返回的字符放到pdtem[]数组,发送到计算机接收

5数据发送函数

voidsend_data(chartemp[64])//数据发送

{

uchari;

i=0;

do

{

tem88=xbyte[0x0100];

while((tem880x02)!=0x02)

tem88=xbyte[0x0100];

xbyte[0x0000]=pdtem[i];

i++;

}

while(pdtem[i-1]!=0x0a);//遇到结束符0x0a则发送完毕

while(((tem88=xbyte[0x0100])0x02)==0x02);//防止输出中断未清除,这句可以不加}

6结论

通过编程软件实现了接口的初始化,数据的接收,数据的处理和数据的发送基本功能,在软件平台下调用板卡厂商提供的dll对操作系统api(applicationprogramminginterface)函数的调用。wWw..coMapi函数包含在附加名为dll的动态连接库文件中,api函数可以做到很多的功能。因此,可以通过调用

文档评论(0)

135****0879 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档