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

📄 cbj.c

📁 HT手持机源代码下载(可能有部分头文件缺失)
💻 C
📖 第 1 页 / 共 2 页
字号:
                	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 + -