📄 cbj.c
字号:
#include <dos.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include <math.h>
#include <time.h>
#include "myh.h"
unsigned char RecDate[150];
int DeaMode=3,DeaBaud=9600,DeaPort=1;
int rxd(unsigned char *);
//设置2680串口模块
void IniTialize(char tt)
{
directvideo=0;
HideCursor();
DisableRx();
if (tt==0)
{IRPowerCtrl(_IRPowON); SetIROutput(2); SetCommMode(DeaMode,DeaPort,DeaBaud);}
else
SetCommMode(3,0,9600);
EnableRx(0);
}
//发送数据模块
void ComSend(char SendComm[])
{
unsigned char i;
for(i=0;i<strlen(SendComm);i++)
PutAuxByte(SendComm[i]);
}
//接收数据模块(数据传送)
int rxd(unsigned char *d)
{
struct time t;
int snd, snd1;
unsigned char stat;
gettime(&t);
snd = t.ti_sec;
do {
gettime(&t);
snd1 = t.ti_sec - snd;
if (snd1 < 0) { snd1 = snd1 + 60;};
if (snd1 >= 2) return 0;
} while (ExistAuxBGot(d,&stat)==0);
return -1;
}
//接收并检验数据模块(数据传送)
void RecAndCheak(char receiData[])
{
unsigned char RecByte,CurDate=0;
int datelen;
datelen=20;
while(CurDate<datelen)
{
if(rxd(&RecByte)==0)
break;
receiData[CurDate++]=RecByte;
}
receiData[CurDate]='\0';
}
//接收数据模块(参数模块)
int rxd1(unsigned char *d)
{
struct time t;
int snd;
unsigned char stat;
gettime(&t);
snd = t.ti_sec;
do {
snd++;
if (snd >= 1000) return 0;
} while (ExistAuxBGot(d,&stat)==0);
return -1;
}
//接收并检验数据模块(参数模块)
void RecAndCheak1(char receiData[])
{
unsigned char RecByte,CurDate=0;
int datelen;
datelen=20;
while(CurDate<datelen)
{
if(rxd(&RecByte)==0)
break;
receiData[CurDate++]=RecByte;
}
receiData[CurDate]='\0';
}
//读取参数模块
void ReadPara(void)
{
unsigned char Mode, Port;
unsigned int BdRt;
unsigned char SendComm[17],receiData[17];
unsigned int sign,key;
GetCommMode(&Mode, &Port, &BdRt);
clrscr();
printf("HT-2680:\n");
if (Mode==3)
printf("RS:%dBps无校验\n",BdRt);
if (Mode==179)
printf("RS:%dBps偶校验\n",BdRt);
if (Mode==51)
printf("RS:%dBps奇校验\n",BdRt);
printf("无线模块:\n");
IniTialize (0);
SendComm[0]=0x25;
SendComm[1]=0x5E;
SendComm[2]=0x43;
SendComm[3]=0x54;
SendComm[4]=0x53;
SendComm[5]=0x0D;
SendComm[6]=0x0A;
SendComm[7]='\0';
ComSend(SendComm);
RecAndCheak1(receiData);
SendComm[0]=0x43;
SendComm[1]=0x4B;
SendComm[2]=0x53;
SendComm[3]=0x55;
SendComm[4]=0x4C;
SendComm[5]=0x56;
SendComm[6]=0x0D;
SendComm[7]=0x0A;
SendComm[8]='\0';
ComSend(SendComm);
RecAndCheak1(receiData);
printf("RS:%c%c%c%c%c%c\n",receiData[7],receiData[8],receiData[9],receiData[10],receiData[11],receiData[12]);
SendComm[0]=0x4B;
SendComm[1]=0x5A;
SendComm[2]=0x53;
SendComm[3]=0x55;
SendComm[4]=0x4C;
SendComm[5]=0x56;
SendComm[6]=0x0D;
SendComm[7]=0x0A;
SendComm[8]='\0';
ComSend(SendComm);
RecAndCheak1(receiData);
printf("RF:%c%c%c%c%c\n",receiData[7],receiData[8],receiData[9],receiData[10],receiData[11]);
SendComm[0]=0x58;
SendComm[1]=0x44;
SendComm[2]=0x0D;
SendComm[3]=0x0A;
SendComm[4]='\0';
ComSend(SendComm);
RecAndCheak1(receiData);
printf("CH:%c\n",receiData[3]);
getch();
}
//设置参数模块
void SetPara(void)
{char k,ExitBrow=1;
int a,b;
unsigned char Send1[16];
unsigned char Send2[2];
unsigned char Send3[15];
unsigned char Send4[7];
unsigned char Mode, Port;
unsigned int BdRt;
unsigned char SendComm[17],receiData[17];
unsigned int sign,key,i=0;
ExitBrow=1;
while(ExitBrow)
{clrscr();
printf("选择参数:");
printf("\n校验方式:");
printf("\n1.偶检验");
printf("\n2.奇检验");
printf("\n3.无检验");
k=0;
k=getch();
if (k==27)
return;
switch(k-0x30)
{
case 1:
Send2[0]='E';
Send2[1]=0;
a=179;
ExitBrow=0;
break;
case 2:
Send2[0]='O';
Send2[1]=0;
a=51;
ExitBrow=0;
break;
case 3:
Send2[0]='N';
Send2[1]=0;
a=3;
ExitBrow=0;
break;
}
}
ExitBrow=1;
while(ExitBrow)
{clrscr();
printf("选择参数:");
printf("\n串口波特率(RS):");
printf("\n1.1200 2.2400");
printf("\n3.4800 4.9600");
printf("\n5.19200");
k=0;
k=getch();
if (k==27)
return;
switch(k-0x30)
{
case 1:
Send1[0]=0x43;
Send1[1]=0x4b;
Send1[2]=0x53;
Send1[3]=0x55;
Send1[4]=0x4c;
Send1[5]=0x56;
Send1[6]=0x3a;
Send1[7]=0x31;
Send1[8]=0x32;
Send1[9]=0x30;
Send1[10]=0x30;
Send1[11]=Send2[0];
Send1[12]=0x0d;
Send1[13]=0x0a;
Send1[14]='\0';
b=1200;
ExitBrow=0;
break;
case 2:
Send1[0]=0x43;
Send1[1]=0x4b;
Send1[2]=0x53;
Send1[3]=0x55;
Send1[4]=0x4c;
Send1[5]=0x56;
Send1[6]=0x3a;
Send1[7]=0x32;
Send1[8]=0x34;
Send1[9]=0x30;
Send1[10]=0x30;
Send1[11]=Send2[0];
Send1[12]=0x0d;
Send1[13]=0x0a;
Send1[14]='\0';
b=2400;
ExitBrow=0;
break;
case 3:
Send1[0]=0x43;
Send1[1]=0x4b;
Send1[2]=0x53;
Send1[3]=0x55;
Send1[4]=0x4c;
Send1[5]=0x56;
Send1[6]=0x3a;
Send1[7]=0x34;
Send1[8]=0x38;
Send1[9]=0x30;
Send1[10]=0x30;
Send1[11]=Send2[0];
Send1[12]=0x0d;
Send1[13]=0x0a;
Send1[14]='\0';
b=4800;
ExitBrow=0;
break;
case 4:
Send1[0]=0x43;
Send1[1]=0x4b;
Send1[2]=0x53;
Send1[3]=0x55;
Send1[4]=0x4c;
Send1[5]=0x56;
Send1[6]=0x3a;
Send1[7]=0x39;
Send1[8]=0x36;
Send1[9]=0x30;
Send1[10]=0x30;
Send1[11]=Send2[0];
Send1[12]=0x0d;
Send1[13]=0x0a;
Send1[14]='\0';
b=9600;
ExitBrow=0;
break;
case 5:
Send1[0]=0x43;
Send1[1]=0x4b;
Send1[2]=0x53;
Send1[3]=0x55;
Send1[4]=0x4c;
Send1[5]=0x56;
Send1[6]=0x3a;
Send1[7]=0x31;
Send1[8]=0x39;
Send1[9]=0x32;
Send1[10]=0x30;
Send1[11]=0x30;
Send1[12]=Send2[0];
Send1[13]=0x0d;
Send1[14]=0x0a;
Send1[15]='\0';
b=19200;
ExitBrow=0;
break;
}
}
ExitBrow=1;
while(ExitBrow)
{clrscr();
printf("选择参数:");
printf("\n空中波特率(RF):");
printf("\n1.1200 2.2400");
printf("\n3.4800 4.9600");
printf("\n5.19200");
k=0;
k=getch();
if (k==27)
return;
switch(k-0x30)
{
case 1:
Send3[0]=0x4b;
Send3[1]=0x5a;
Send3[2]=0x53;
Send3[3]=0x55;
Send3[4]=0x4c;
Send3[5]=0x56;
Send3[6]=0x3a;
Send3[7]=0x31;
Send3[8]=0x32;
Send3[9]=0x30;
Send3[10]=0x30;
Send3[11]=0x0d;
Send3[12]=0x0a;
Send3[13]='\0';
ExitBrow=0;
break;
case 2:
Send3[0]=0x4b;
Send3[1]=0x5a;
Send3[2]=0x53;
Send3[3]=0x55;
Send3[4]=0x4c;
Send3[5]=0x56;
Send3[6]=0x3a;
Send3[7]=0x32;
Send3[8]=0x34;
Send3[9]=0x30;
Send3[10]=0x30;
Send3[11]=0x0d;
Send3[12]=0x0a;
Send3[13]='\0';
ExitBrow=0;
break;
case 3:
Send3[0]=0x4b;
Send3[1]=0x5a;
Send3[2]=0x53;
Send3[3]=0x55;
Send3[4]=0x4c;
Send3[5]=0x56;
Send3[6]=0x3a;
Send3[7]=0x34;
Send3[8]=0x38;
Send3[9]=0x30;
Send3[10]=0x30;
Send3[11]=0x0d;
Send3[12]=0x0a;
Send3[13]='\0';
ExitBrow=0;
break;
case 4:
Send3[0]=0x4b;
Send3[1]=0x5a;
Send3[2]=0x53;
Send3[3]=0x55;
Send3[4]=0x4c;
Send3[5]=0x56;
Send3[6]=0x3a;
Send3[7]=0x39;
Send3[8]=0x36;
Send3[9]=0x30;
Send3[10]=0x30;
Send3[11]=0x0d;
Send3[12]=0x0a;
Send3[13]='\0';
ExitBrow=0;
break;
case 5:
Send3[0]=0x4b;
Send3[1]=0x5a;
Send3[2]=0x53;
Send3[3]=0x55;
Send3[4]=0x4c;
Send3[5]=0x56;
Send3[6]=0x3a;
Send3[7]=0x31;
Send3[8]=0x39;
Send3[9]=0x32;
Send3[10]=0x30;
Send3[11]=0x30;
Send3[12]=0x0d;
Send3[13]=0x0a;
Send3[14]='\0';
ExitBrow=0;
break;
}
}
ExitBrow=1;
while(ExitBrow)
{clrscr();
printf("选择一下参数:");
printf("\n信道(CH):");
printf("\n1.CH1 2.CH2");
printf("\n3.CH3 4.CH4");
printf("\n5.CH5 6.CH6");
printf("\n7.CH7 8.CH8");
k=0;
k=getch();
if (k==27)
return;
switch(k-0x30)
{
case 1:
Send4[0]=0x58;
Send4[1]=0x44;
Send4[2]=0x3A;
Send4[3]=0x31;
Send4[4]=0x0D;
Send4[5]=0x0A;
Send4[6]='\0';
ExitBrow=0;
break;
case 2:
Send4[0]=0x58;
Send4[1]=0x44;
Send4[2]=0x3A;
Send4[3]=0x32;
Send4[4]=0x0D;
Send4[5]=0x0A;
Send4[6]='\0';
ExitBrow=0;
break;
case 3:
Send4[0]=0x58;
Send4[1]=0x44;
Send4[2]=0x3A;
Send4[3]=0x33;
Send4[4]=0x0D;
Send4[5]=0x0A;
Send4[6]='\0';
ExitBrow=0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -