pt_gprs.c

来自「51单片机控制GM862 GPRS模块进行数据传输」· C语言 代码 · 共 1,171 行 · 第 1/3 页

C
1,171
字号
               if(i==3)
               *(changeline-2)=*(changeline-1)+9;
               if(i==5)
               *(changeline-3)=*(changeline-1)+9;
               }
			 break;
	case 'A':
	         if(i%2==0)
			 *changeline=10*16;
			 if(i%2!=0)
		       {
               if(i==1)
			   *(changeline-1)=*(changeline-1)+10;
               if(i==3)
               *(changeline-2)=*(changeline-1)+10;
               if(i==5)
               *(changeline-3)=*(changeline-1)+10;
               }
			 break;
	case 'B':
	         if(i%2==0)
			 *changeline=11*16;
			 if(i%2!=0)
			   {
               if(i==1)
			   *(changeline-1)=*(changeline-1)+11;
               if(i==3)
               *(changeline-2)=*(changeline-1)+11;
               if(i==5)
               *(changeline-3)=*(changeline-1)+11;
               }
			 break;
	case 'C':
	         if(i%2==0)
			 *changeline=12*16;
			 if(i%2!=0)
		       {
               if(i==1)
			   *(changeline-1)=*(changeline-1)+12;
               if(i==3)
               *(changeline-2)=*(changeline-1)+12;
               if(i==5)
               *(changeline-3)=*(changeline-1)+12;
               }
			 break;
	case 'D':
	         if(i%2==0)
			 *changeline=13*16;
			 if(i%2!=0)
		       {
               if(i==1)
			   *(changeline-1)=*(changeline-1)+13;
               if(i==3)
               *(changeline-2)=*(changeline-1)+13;
               if(i==5)
               *(changeline-3)=*(changeline-1)+13;
               }
			 break;
	case 'E':
	         if(i%2==0)
			 *changeline=14*16;
			 if(i%2!=0)
			   {
               if(i==1)
			   *(changeline-1)=*(changeline-1)+14;
               if(i==3)
               *(changeline-2)=*(changeline-1)+14;
               if(i==5)
               *(changeline-3)=*(changeline-1)+14;
               }
			 break;
	case 'F':
	         if(i%2==0)
			 *changeline=15*16;
			 if(i%2!=0)
			   {
               if(i==1)
			   *(changeline-1)=*(changeline-1)+15;
               if(i==3)
               *(changeline-2)=*(changeline-1)+15;
               if(i==5)
               *(changeline-3)=*(changeline-1)+15;
               }
			 break;
	
	default: 
	         break;
	
	}
	changeline++;
  	i++;
 }
}



//.....................................................
//十六进制转化为十六进制字符串  0xB0=>"B0"
//.....................................................
void OXXX_ASCII(uchar *changeline)
{
      uchar i;

      changeline=changeline+2;
             
          while(i<3)
            {
              switch(*changeline/16)
                {
				 case 0:
				        if(i==0)
						*(changeline+2)='0';
						if(i==1)
						*(changeline+1)='0';
						if(i==2)
						*changeline='0';
						break;
				 case 1:
				        if(i==0)
						*(changeline+2)='1';
						if(i==1)
						*(changeline+1)='1';
						if(i==2)
						*changeline='1';
						break;
				 case 2:
				        if(i==0)
						*(changeline+2)='2';
						if(i==1)
						*(changeline+1)='2';
						if(i==2)
						*changeline='2';
						break;
				 case 3: 
				        if(i==0)
						*(changeline+2)='3';
						if(i==1)
						*(changeline+1)='3';
						if(i==2)
						*changeline='3';
						break;
				 case 4:
				        if(i==0)
						*(changeline+2)='4';
						if(i==1)
						*(changeline+1)='4';
						if(i==2)
						*changeline='4';
						break;
				 case 5:
				        if(i==0)
						*(changeline+2)='5';
						if(i==1)
						*(changeline+1)='5';
						if(i==2)
						*changeline='5';
						break;
				 case 6:
				        if(i==0)
						*(changeline+2)='6';
						if(i==1)
						*(changeline+1)='6';
						if(i==2)
						*changeline='6';
						break;
				 case 7:
				        if(i==0)
						*(changeline+2)='7';
						if(i==1)
						*(changeline+1)='7';
						if(i==2)
						*changeline='7';
						break;
				 case 8:
				        if(i==0)
						*(changeline+2)='8';
						if(i==1)
						*(changeline+1)='8';
						if(i==2)
						*changeline='8';
						break;
				 case 9:
				        if(i==0)
						*(changeline+2)='9';
						if(i==1)
						*(changeline+1)='9';
						if(i==2)
						*changeline='9';
						break;
				 case 10:
				        if(i==0)
						*(changeline+2)='A';
						if(i==1)
						*(changeline+1)='A';
						if(i==2)
						*changeline='A';
						break;
				 case 11:
				        if(i==0)
						*(changeline+2)='B';
						if(i==1)
						*(changeline+1)='B';
						if(i==2)
						*changeline='B';
						break;
				 case 12:
				        if(i==0)
						*(changeline+2)='C';
						if(i==1)
						*(changeline+1)='C';
						if(i==2)
						*changeline='C';
						break;
				 case 13:
				        if(i==0)
						*(changeline+2)='D';
						if(i==1)
						*(changeline+1)='D';
						if(i==2)
						*changeline='D';
						break;
				 case 14:
				        if(i==0)
						*(changeline+2)='E';
						if(i==1)
						*(changeline+1)='E';
						if(i==2)
						*changeline='E';
						break;
				 case 15:
				        if(i==0)
						*(changeline+2)='F';
						if(i==1)
						*(changeline+1)='F';
						if(i==2)
						*changeline='F';
						break;

				 default: 
			             break;
                 }
              switch(*changeline%16)
                {
				 case 0:
				        if(i==0)
						*(changeline+3)='0';
						if(i==1)
						*(changeline+2)='0';
						if(i==2)
						*(changeline+1)='0';
						break;
				 case 1:
				        if(i==0)
						*(changeline+3)='1';
						if(i==1)
	  					*(changeline+2)='1';
						if(i==2)
						*(changeline+1)='1';
						break;
				 case 2:
				        if(i==0)
						*(changeline+3)='2';
						if(i==1)
						*(changeline+2)='2';
						if(i==2)
						*(changeline+1)='2';
						break;
				 case 3:
				        if(i==0)
						*(changeline+3)='3';
						if(i==1)
						*(changeline+2)='3';
						if(i==2)
						*(changeline+1)='3';
						break;
				 case 4:
				        if(i==0)
						*(changeline+3)='4';
						if(i==1)
						*(changeline+2)='4';
						if(i==2)
						*(changeline+1)='4';
						break;
				 case 5:
				        if(i==0)
						*(changeline+3)='5';
						if(i==1)
						*(changeline+2)='5';
						if(i==2)
						*(changeline+1)='5';
						break;
				 case 6:
				        if(i==0)
						*(changeline+3)='6';
						if(i==1)
						*(changeline+2)='6';
						if(i==2)
						*(changeline+1)='6';
						break;
				 case 7:
				        if(i==0)
						*(changeline+3)='7';
						if(i==1)
						*(changeline+2)='7';
						if(i==2)
						*(changeline+1)='7';
						break;
				 case 8:
				        if(i==0)
						*(changeline+3)='8';
						if(i==1)
						*(changeline+2)='8';
						if(i==2)
						*(changeline+1)='8';
						break;
				 case 9:
				        if(i==0)
						*(changeline+3)='9';
						if(i==1)
						*(changeline+2)='9';
						if(i==2)
						*(changeline+1)='9';
						break;
				 case 10:
				        if(i==0)
						*(changeline+3)='A';
						if(i==1)
						*(changeline+2)='A';
						if(i==2)
						*(changeline+1)='A';
						break;
				 case 11:
				        if(i==0)
						*(changeline+3)='B';
						if(i==1)
						*(changeline+2)='B';
						if(i==2)
						*(changeline+1)='B';
						break;
				 case 12:
				        if(i==0)
						*(changeline+3)='C';
						if(i==1)
						*(changeline+2)='C';
						if(i==2)
						*(changeline+1)='C';
						break;
				 case 13:
				        if(i==0)
						*(changeline+3)='D';
						if(i==1)
						*(changeline+2)='D';
						if(i==2)
						*(changeline+1)='D';
						break;
				 case 14:
				        if(i==0)
						*(changeline+3)='E';
						if(i==1)
						*(changeline+2)='E';
						if(i==2)
						*(changeline+1)='E';
						break;
  				 case 15:
				        if(i==0)
						*(changeline+3)='F';
						if(i==1)
						*(changeline+2)='F';
						if(i==2)
						*(changeline+1)='F';
						break;
				 default:
				         break;
                 }

               i++;
		   }

}
	

	 
//.....................................................
//定时器初始化
//.....................................................
void init()
{
 TMOD=0x01;             //T0作为定时器
 T2CON=0x30;            //T2作为波特率发生器
 SCON=0x50;
// PCON=0x00;             //波特率不加倍 

⌨️ 快捷键说明

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