⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 adam.cpp

📁 利用串口和研华ADAM系列采集卡通信的源代码
💻 CPP
字号:
#include <dos.h>
#include <dir.h>
#include <windows.h>
#include <iostream.h>
#include <conio.h>
#include <stdio.h>


#include "param.h"
#include "Lcd.h"
#include "serial Com.h"


#include "system.hpp"
//---------------------------------------------------------------------------



//---------------------------------------------------------------------------
//************变量定义结束   ******************************************
//******************************************************
//************函数定义开始**************************************
//-----------------------------------------------------------

int setadam(int number)//number为串口号
{   
    char CommandBuffer[30];
    char WriteBuffer[20];
    char ReadBuffer[20];
    int i=0;
  //串口操作
    //ZCom com1(int nPort,int nBaud);//串口初始化函数

  	ZCom com1(number, 9600);//初始化串口
    	if(!com1.IsValid())
	{
		cout<<"Open com error!\n"<<endl;
		return -1;
	}
  
   //查找硬件
   
   {
    char WriteBuffer1[]={'#','0','1','0','\r'} ;
    com1.WriteData(WriteBuffer1, sizeof(WriteBuffer1));

	//Input:
	memset(ReadBuffer, '\0', sizeof(ReadBuffer));

	com1.ReadData(ReadBuffer, sizeof(ReadBuffer));
	//Sleep(50);
    com1.WriteData(WriteBuffer1, sizeof(WriteBuffer1));
	//Input:
	memset(ReadBuffer, '\0', sizeof(ReadBuffer));
	com1.ReadData(ReadBuffer, sizeof(ReadBuffer));
  com1.WriteData(WriteBuffer1, sizeof(WriteBuffer1));
	//Input:
	memset(ReadBuffer, '\0', sizeof(ReadBuffer));
	com1.ReadData(ReadBuffer, sizeof(ReadBuffer));
	//Sleep(50);
    cout<<"Input:"<<ReadBuffer<<endl;

    if(ReadBuffer[2]!=0&&ReadBuffer[2]!=1&&ReadBuffer[2]!=2)
    printf("There is on adam is in order!!!");
    goto end;
   }   
   
  //自动设置量程
  {
   
    char WriteBuffer0[]={'%','0','1','0','1','0','5','0','6','0','0','\r'};
    com1.WriteData(WriteBuffer0, sizeof(WriteBuffer0));

    cout<<"output:"<<WriteBuffer0<<endl;

    Sleep(10);

    char WriteBuffer1[]={'#','0','1','0','\r'} ;
    com1.WriteData(WriteBuffer1, sizeof(WriteBuffer1));

	//Input:
	memset(ReadBuffer, '\0', sizeof(ReadBuffer));

	com1.ReadData(ReadBuffer, sizeof(ReadBuffer));
	//Sleep(50);

    cout<<"Input:"<<ReadBuffer<<endl;
    if (ReadBuffer[1]>1)
      {
        goto end;
       }
    else if (ReadBuffer[3]>5)
      {
        char WriteBuffer2[]={'%','0','1','0','1','0','4','0','6','0','0','\r'};
 		    com1.WriteData(WriteBuffer2, sizeof(WriteBuffer2));

        cout<<"output:"<<WriteBuffer2<<endl;

		    Sleep(10);
        goto end;
       }

    else if (ReadBuffer[3]>1)
      {
        char WriteBuffer3[]={'%','0','1','0','1','0','3','0','6','0','0','\r'};
 		    com1.WriteData(WriteBuffer3, sizeof(WriteBuffer3));

        cout<<"output:"<<WriteBuffer3<<endl;

		    Sleep(10);
        goto end;
       }
    else if (ReadBuffer[4]>5)
      {
        char WriteBuffer4[]={'%','0','1','0','1','0','2','0','6','0','0','\r'};
 		    com1.WriteData(WriteBuffer4, sizeof(WriteBuffer4));

        cout<<"output:"<<WriteBuffer4<<endl;

		    Sleep(10);
        goto end;
       }
    else if (ReadBuffer[4]>1&&ReadBuffer[5]>5)
      {
        char WriteBuffer5[]={'%','0','1','0','1','0','1','0','6','0','0','\r'};
 		    com1.WriteData(WriteBuffer5, sizeof(WriteBuffer5));

        cout<<"output:"<<WriteBuffer5<<endl;

		    Sleep(10);
        goto end;
       }

     else
        {
        char WriteBuffer6[]={'%','0','1','0','1','0','0','0','6','0','0','\r'};
 		    com1.WriteData(WriteBuffer6, sizeof(WriteBuffer6));

        cout<<"output:"<<WriteBuffer6<<endl;

		    Sleep(10);
        goto end;
       }



   }

end:

        return 0;
        
    }

  int readadam(int number) 
 {      
   int i=0;
 	 char CommandBuffer[30];
   char WriteBuffer[20];
   char ReadBuffer[20];



   wsprintf( WriteBuffer, "#0%d0\r", number);
       // char WriteBuffer[8]={'#','0','number','0','\r'};
	 memset(ReadBuffer, '\0', sizeof(ReadBuffer));



		//sprintf(WriteBuffer, "#010", sizeof(WriteBuffer));
		//output:
                for (i=0;i<10;i++)
               { 
     com1.WriteData(WriteBuffer, sizeof(WriteBuffer));

                cout<<"output:"<<WriteBuffer<<endl;



		Sleep(10);

		//Input:
		memset(ReadBuffer, '\0', sizeof(ReadBuffer));

		com1.ReadData(ReadBuffer, sizeof(ReadBuffer));


		//Sleep(50);

    cout<<"Input:"<<ReadBuffer<<endl;
        }


	
  return 0;
}
//----------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -