📄 cbj.c
字号:
break;
case 4:
Send4[0]=0x58;
Send4[1]=0x44;
Send4[2]=0x3A;
Send4[3]=0x34;
Send4[4]=0x0D;
Send4[5]=0x0A;
Send4[6]='\0';
ExitBrow=0;
break;
case 5:
Send4[0]=0x58;
Send4[1]=0x44;
Send4[2]=0x3A;
Send4[3]=0x35;
Send4[4]=0x0D;
Send4[5]=0x0A;
Send4[6]='\0';
ExitBrow=0;
break;
case 6:
Send4[0]=0x58;
Send4[1]=0x44;
Send4[2]=0x3A;
Send4[3]=0x36;
Send4[4]=0x0D;
Send4[5]=0x0A;
Send4[6]='\0';
ExitBrow=0;
break;
case 7:
Send4[0]=0x58;
Send4[1]=0x44;
Send4[2]=0x3A;
Send4[3]=0x37;
Send4[4]=0x0D;
Send4[5]=0x0A;
Send4[6]='\0';
ExitBrow=0;
break;
case 8:
Send4[0]=0x58;
Send4[1]=0x44;
Send4[2]=0x3A;
Send4[3]=0x38;
Send4[4]=0x0D;
Send4[5]=0x0A;
Send4[6]='\0';
ExitBrow=0;
break;
}
}
clrscr();
printf("修改参数如下:\n");
printf("RS:%c%c%c%c%c%c\n",Send1[7],Send1[8],Send1[9],Send1[10],Send1[11],Send1[12]);
printf("RF:%c%c%c%c%c\n",Send3[7],Send3[8],Send3[9],Send3[10],Send3[11]);
printf("CH:%c\n",Send4[3]);
printf("\n");
printf("\n 取消 确定");
while (1)
{
k=getch();
if (k==0x1B)
{return;}
if (k==0x0D)
{
clrscr();
printf("无线模块:\n");
i=0;
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);
ComSend(Send1);
RecAndCheak1(receiData);
printf("RS:%s\n",receiData);
if (receiData[0]==0x4F)
if (receiData[1]==0x4B)
{i=1;
DeaMode=a;
DeaBaud=b;
IniTialize (0);
ComSend(SendComm);
RecAndCheak1(receiData);
}
ComSend(Send3);
RecAndCheak1(receiData);
printf("RF:%s\n",receiData);
ComSend(Send4);
RecAndCheak1(receiData);
printf("CH:%s\n",receiData);
DeaMode=a;
DeaBaud=b;
IniTialize (0);
getch();
if (i==1)
{ }
return;
}
}
}
//单发测试
void SendData_1(void)
{
unsigned char SendComm[17],receiData[17];
unsigned int sign,key,i;
i=0;
do
{
SendComm[i++]='\0';} while (i<17);
clrscr();
printf("输入发送数据:\n");
key=getlinestr(1,2,16,SendComm,1);
if(key==0x1b || strlen(SendComm)==0)
return;
IniTialize (0);
clrscr();
printf("数据传送...\n");
ComSend(SendComm);
RecAndCheak(receiData);
sign=strcmp(SendComm,receiData);
if (strlen(receiData)!=strlen(SendComm))
{clrscr();
printf("发数:%d\n",strlen(SendComm));
printf("收数:%d\n",strlen(receiData));
printf("发送字节和接收字\n");
printf("节数量不一致,数\n");
printf("据收发测试失败!\n");
printf("任意键返回。。。\n");
}
else
{
if (sign==0)
{clrscr();
printf("发数:%d\n",strlen(SendComm));
printf("收数:%d\n",strlen(receiData));
printf("发送字节和接收字\n");
printf("节数量、内容一致\n");
printf("收发测试成功!\n");
printf("任意键返回。。。\n");
}
else
{clrscr();
printf("发数:%d\n",strlen(SendComm));
printf("收数:%d\n",strlen(receiData));
printf("发送字节和接收字\n");
printf("节内容不一致,数\n");
printf("据收发测试失败!\n");
printf("任意键返回。。。\n");
}
}
getch();
DisableRx();
}
//循环测试
void SendData_2(void)
{
int xt=0;
unsigned char SendComm[17],receiData[17];
unsigned int sign,key,i,p1=0,p2=0;
unsigned int XP;
struct time t;
int snd, snd1;
unsigned char stat;
i=0;
do
{
SendComm[i++]='\0';} while (i<17);
clrscr();
printf("输入发送数据:\n");
key=getlinestr(1,2,16,SendComm,1);
if(key==0x1b || strlen(SendComm)==0)
return;
IniTialize (0);
while (1)
{clrscr();
printf("字节数:%d\n",strlen(SendComm));
printf("发送次数:%d\n",p2);
printf("接收次数:%d\n",p1);
if (p2>0)
printf("成功率:%d%\n",p1*100/p2);
else
printf("成功率:0\n");
printf("取消键返回。。。\n");
ComSend(SendComm);
RecAndCheak(receiData);
if(kbhit())
if(getch()==27)
return 0;
sign=strcmp(SendComm,receiData);
if (sign==0)
p1++;
p2++;
XP=0;
//暂停3秒钟。。。
gettime(&t);
snd = t.ti_sec;
do {
gettime(&t);
snd1 = t.ti_sec - snd;
if (snd1 < 0) { snd1 = snd1 + 60;};
if (snd1 >= 2) break;
} while (1);
}
DisableRx();
}
//菜单A
void ScreenA(void)
{
char k,ExitBrow=1;
MENU_ITM mn[] = {{"1.读取参数", '1'},{"2.修改参数",'2'},{"3.退出" ,'3'},{'\0','\0'}};
while(ExitBrow)
{clrscr();
printf(" 振通科技");
printf("\n无线掌机演示程序");
printf("\n================");
k=NumMenu(mn,"",4,3);
switch(k-0x30)
{
case 1:
ReadPara();
break;
case 2:
SetPara();
break;
case 3:
ExitBrow=0;
}
}
}
//菜单B
void ScreenB(void)
{
char k,ExitBrow=1;
MENU_ITM mn[] = {{"1.单发测试", '1'},{"2.循环测试",'2'},{"3.退出" ,'3'},{'\0','\0'}};
while(ExitBrow)
{clrscr();
printf(" 振通科技");
printf("\n无线掌机演示程序");
printf("\n================");
k=NumMenu(mn,"",4,3);
switch(k-0x30)
{
case 1:
SendData_1();
break;
case 2:
SendData_2();
break;
case 3:
ExitBrow=0;
}
}
}
//菜单C
void ScreenC(void)
{char k,ExitBrow=1;
int a,b,c;
unsigned char Mode, Port;
unsigned int BdRt;
unsigned int sign,key,i;
ExitBrow=1;
while(ExitBrow)
{clrscr();
printf("选择COM:");
printf("\n1.COM1");
printf("\n2.COM2");
k=0;
k=getch();
if (k==27)
return;
switch(k-0x30)
{
case 1:
c=0;
GetCommMode(&Mode, &Port, &BdRt);
DeaMode=Mode;
DeaBaud=BdRt;
DeaPort=Port;
IniTialize (0);
ExitBrow=0;
break;
case 2:
c=1;
GetCommMode(&Mode, &Port, &BdRt);
DeaMode=Mode;
DeaBaud=BdRt;
DeaPort=Port;
IniTialize (0);
ExitBrow=0;
break;
}
}
clrscr();
printf("修改参数如下:\n");
printf("COM口:%d\n",c+1);
printf("\n");
printf("\n 取消 确定");
while (1)
{
k=getch();
if (k==0x1B)
{return;}
if (k==0x0D)
{
DeaPort=c;
IniTialize (0);
return;
}
}
}
//菜单D
void ScreenD(void)
{char k,ExitBrow=1;
int xt=0;
int a,b;
int a1[15],b1[15];
unsigned int sign,key,i=0;
unsigned char SendComm[8],receiData[15];
struct time t;
int snd, snd1;
unsigned char stat;
a1[0]=9600;
a1[1]=4800;
a1[2]=2400;
a1[3]=1200;
a1[4]=19200;
a1[5]=1200;
a1[6]=2400;
a1[7]=4800;
a1[8]=9600;
a1[9]=19200;
a1[10]=1200;
a1[11]=2400;
a1[12]=4800;
a1[13]=9600;
a1[14]=19200;
b1[0]=3;
b1[1]=3;
b1[2]=3;
b1[3]=3;
b1[4]=3;
b1[5]=179;
b1[6]=179;
b1[7]=179;
b1[8]=179;
b1[9]=179;
b1[10]=51;
b1[11]=51;
b1[12]=51;
b1[13]=51;
b1[14]=51;
a=DeaMode;
b=DeaBaud;
SendComm[0]=0x25;
SendComm[1]=0x5E;
SendComm[2]=0x43;
SendComm[3]=0x54;
SendComm[4]=0x53;
SendComm[5]=0x0D;
SendComm[6]=0x0A;
SendComm[7]='\0';
ExitBrow=15;
while(i<ExitBrow)
{DeaBaud=a1[i];
DeaMode=b1[i];
i++;
clrscr();
printf("检测中..\n");
printf("%d,%d\n",DeaBaud,DeaMode);
IniTialize (0);
gettime(&t);
snd = t.ti_sec;
do {
gettime(&t);
snd1 = t.ti_sec - snd;
if (snd1 < 0) { snd1 = snd1 + 60;};
if (snd1 >= 2) break;
} while (1);
IniTialize (0);
ComSend(SendComm);
RecAndCheak1(receiData);
if (receiData[0]==0x43)
if (receiData[1]==0x4F)
if (receiData[2]==0x4D)
if (receiData[3]==0x49)
if (receiData[4]==0x53)
if (receiData[5]==0x4F)
if (receiData[6]==0x4B)
{clrscr();
printf("检测成功..\n");
getch();
return;}
}
printf("检测失败..\n");
DeaMode=a;
DeaBaud=b;
IniTialize (0);
getch();
return;
}
//主菜单
void main(void)
{
unsigned char Mode, Port;
unsigned int BdRt;
char k,ExitBrow=1;
DeaMode=3,DeaBaud=9600;
//GetCommMode(&Mode, &Port, &BdRt);
//DeaMode=Mode;
//DeaBaud=BdRt;
//DeaPort=Port;
IniTialize (0);
while(ExitBrow)
{clrscr();
printf(" 振通科技");
printf("\n无线掌机演示程序");
printf("\n================");
printf("\n 1.参数设置");
printf("\n 2.收发数据");
printf("\n 3.设置串口");
printf("\n 4.自动检测");
printf("\n 5.退出程序");
k=getch();
switch(k-0x30)
{
case 1:
ScreenA();
break;
case 2:
ScreenB();
break;
case 3:
ScreenC();
break;
case 4:
ScreenD();
break;
case 5:
return;
ExitBrow=0;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -