欢迎来到学术参考网

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

发布时间:2015-07-03 11:21

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

根据gpib总线的特点和gpib接口在仪器仪表中的广泛应用,系统采用d7210c和75160bn,75161bn实现了gpib接口电论文联盟http://路,接口电路实现了双向、异步、准确可靠的数据通信任务。软件部分设计主要用到的是gpib的win32api函数驱动库。通过dll调用技术可以完成api函数库封装的对gpib设备初始化、读取数据、写入数据或命令以及清除等各种控制操作。
   1数据通信接口实现
  根据gpib接口特点,采用d7210c和75160bn,75161bn芯片按照如下电路可以实现计算机与仪器与测量系统间的数据通信。
  
  图1数据通信接口电路
   2对gpib接口的初始化方法
  void gpib_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数据接收函数
  void rec488()//数据接收
  {
  char idata tem48,tem88;
  char idata i,j;
  tem48=xbyte[0x0100];
  if((tem48&0x08)==0x08)//产生器件清除中断
  {
  ;//不执行任何指令
  }
  else if((tem48&0x04)==0x04)//出错中断
  {
  xbyte[0x0100]=0x08;//器件清除
  return;
  }
  else if((tem48&0x01)==0x01)//收到数据,将数据存到pdtem[]数组
  {
  i=0;
  for(j=0;j<18;j++)
  pdtem[j]=0;
  tem88=xbyte[0x0000];
  while(tem88!=0x0a)//遇到结束符0x0a则接收完毕
  {
  pdtem[i]=tem88;
  i++;
  tem48=xbyte[0x0100];
  while((tem48&0x01)!=0x01)
  tem48=xbyte[0x0100];
  tem88=xbyte[0x0000];
  }
  strjudge();//接收完毕进入数据处理程序
   4数据处理函数
  void strjudge()//数据处理

转贴于论文联盟 http://

{
  if(strncmp(pdtem,"data",4)==0)//判断接收到的指令(如果前四个字符为"data0")
  {
  ……
  ……
  ……//执行相应操作论文联盟http://
  send_data(pdtem);//将要返回的字符放到pdtem[]数组,发送到计算机接收
   5数据发送函数
  void send_data(char temp[64])//数据发送
  {
  uchar i;
  i=0;
  do
  {
  tem88=xbyte[0x0100];
  while((tem88&0x02)!=0x02)
  tem88=xbyte[0x0100];
  xbyte[0x0000]=pdtem[i];
  i++;
  }
  while(pdtem[i-1]!=0x0a);//遇到结束符0x0a则发送完毕
  while(((tem88=xbyte[0x0100])&0x02)==0x02); //防止输出中断未清除,这句可以不加}
   6结论
  通过编程软件实现了接口的初始化,数据的接收,数据的处理和数据的发送基本功能,在软件平台下调用板卡厂商提供的dll对操作系统api(application programming interface)函数的调用。函数包含在附加名为dll的动态连接库文件中,api函数可以做到很多的功能。因此,可以通过调用dll的方法来调用各种api函数,来实现各种任务。转贴于论文联盟 http://

上一篇:软件开发套件到位 DaVinci平台应用开

下一篇:嵌入式软件开发课程在高职软件学院专业建设方