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

📄 txd232.c

📁 该文件是232串口调试程序
💻 C
📖 第 1 页 / 共 2 页
字号:
   break;
  case 8:
   sendlong=0xe7;
   l=ppop+3;
   l1=ppop+4;
   tempaddr=((Read_256(0x7800+l)-1)%2)*0x80000+((Read_256(0x7800+l1)-1)%31)*0x3000;  
   f=0;
   for(i=0;i<3;i++)
   {
    l=ppop+3+i;
    l1=(Read_flash(tempaddr+i)&0x0f)+(((unsigned char)Read_flash(tempaddr+i)>>4)*10);
    temp=Read_256(0x7800+l);
    if(temp==l1)
    {
     f++;
    }
   }
   if(f==3)
   {
    for(i=0;i<3;i++)
    {
     tempcom[i]=Read_flash(tempaddr+i);
    }
    Send(1,tempaddr+0x2800,3);
   }
   else
   {
    Trcom();
   }
   break;
  case 9:
   sendlong=0x6f;
   l=ppop+3;
   l1=ppop+4;
   tempaddr=((Read_256(0x7800+l)-1)%2)*0x80000+((Read_256(0x7800+l1)-1)%31)*0x3000;  
   f=0;
   for(i=0;i<3;i++)
   {
    l=ppop+3+i;
    l1=(Read_flash(tempaddr+i)&0x0f)+(((unsigned char)Read_flash(tempaddr+i)>>4)*10);
    temp=Read_256(0x7800+l);
    if(temp==l1)
    {
     f++;
    }
   }
   if(f==3)
   {
    for(i=0;i<3;i++)
    {
     tempcom[i]=Read_flash(tempaddr+i);
    }
    Send(1,tempaddr+0x2900,3);
   }
   else
   {
    Trcom();
   }
   break;
  case 0x0a:
   l=ppop+4;
   l1=ppop+5;
   tempaddr=((Read_256(0x7800+l)-1)%2)*0x80000+((Read_256(0x7800+l1)-1)%31)*0x3000;  
   f=0;
   for(i=0;i<3;i++)
   {
    l=ppop+3+i;
    l1=(Read_flash(tempaddr+i)&0x0f)+(((unsigned char)Read_flash(tempaddr+i)>>4)*10);
    temp=Read_256(0x7800+l);
    if(temp==l1)
    {
     f++;
    }
   }
   l=ppop+2;
   tempcom[0]=Read_256(0x7800+l);
   if(f==3)
   {
    if(Read_flash2(tempaddr+0x2980)>=tempcom[0]*24)
    {
     sendlong=0x8a;
    }
    else
    {
     sendlong=(tempcom[0]*24-Read_flash2(tempaddr+0x2980))*8+4;
    }
    for(i=0;i<3;i++)
    {
     tempcom[i+1]=Read_flash(tempaddr+i);
    }
    Send(1,tempaddr+0x2982+tempcom[0]*24,4);
   }
   else
   {
    Trcom();
   }
   break;
 case 0x12:
   temp3=Read256(0x7800+ppop+2);
   Write_256(0x6508+i,temp3);
   temp3=Inttobcd2(temp3);
   Write_flash(0xdd008,temp3);
   temp=Read_256(0x7800+ppop);
   if((temp&0x80)==0x80)
   {
    sendlong=0x02;
    Send(0,0x6508,0);    
   }
   else
   {
    Trcom();
   }
   break;
  case 0x13:
   temp3=Read256(0x7802+ppop);
   Write_256(0x650a+i,temp3);
   temp3=Inttobcd2(temp3);
   Write_flash(0xdd00a,temp3);
   temp3=Read256(0x7804+ppop);
   Write_256(0x650c+i,temp3);
   temp3=Inttobcd2(temp3);
   Write_flash(0xdd00c,temp3);
   temp=Read_256(0x7800+ppop);
   if((temp&0x80)==0x80)
   {
    sendlong=0x04;
    Send(0,0x650a,0);    
   }
   else
   {
    Trcom();
   }
   break;
  case 0x14:
   temp3=Read256(0x7802+ppop);
   Write_256(0x650e+i,temp3);
   temp3=Inttobcd2(temp3);
   Write_flash(0xdd00e,temp3);
   temp=Read_256(0x7800+ppop);
   if((temp&0x80)==0x80)
   {
    sendlong=0x02;
    Send(0,0x650e,0);    
   }
   else
   {
    Trcom();
   }
   break;
  case 0x15:
   temp3=Read256(0x7802+ppop);
   Write_256(0x6510+i,temp3);
   temp3=Inttobcd2(temp3);
   Write_flash(0xdd010,temp3);
   temp3=Read256(0x7804+ppop);
   Write_256(0x6512+i,temp3);
   Write_flash(0xdd012,temp3);
   temp=Read_256(0x7800+ppop);
   if((temp&0x80)==0x80)
   {
    sendlong=0x04;
    Send(0,0x6510,0);    
   }
   else
   {
    Trcom();
   }
  case 0x18:
   for(i=0;i<6;i++)
   {
    l=ppop+i+2;
    temp=Read_256(0x7800+l);
    kalendar_clk[i]=(unsigned char)(((temp/10)%10)*16)+(unsigned char)(temp%10);
   }
   Inittime();
   temp=Read_256(0x7800+ppop);
   if((temp&0x80)==0x80)
   {
    sendlong=0x08;
    for (i=0;i<6;i++)
    {
     tempcom[i]=((unsigned char)kalendar_clk[i])/16*10+(kalendar_clk[i]&0x0f);
    }
    tempcom[6]=0;
    tempcom[7]=0;
    Send(0,0x651b,8);
   }
   else
   {
    Trcom();
   }
   break;
  case 0x19:
   temp3=Read256(0x7802+ppop)*Read256(0x6508);
   Write256(0x6516+i,temp3);
   temp3=Inttobcd2(temp3);
   Write_flash2(0xdd016,temp3);
   temp=Read_256(0x7800+ppop);
   if((temp&0x80)==0x80)
   {
    sendlong=0x02;
    Send(0,0x6516,0);
   }
   else
   {
    Trcom();
   }
   break;
  case 0x1a:
   temp3=Read256(0x7802+ppop)*Read256(0x6508);
   Write256(0x6519+i,temp3);
   temp3=Inttobcd2(temp3);
   Write_flash(0xdd019,temp3);
   temp=Read_256(0x7800+ppop);
   if((temp&0x80)==0x80)
   {
    sendlong=0x02;
    Send(0,0x6519,0);    
   }
   else
   {
    Trcom();
   }
   break;
  case 0x1b:
   l=ppop+6;
   temp=Read_256(0x7800+l);
   Write_85834(20+(temp-1)*4,Read256_4(0x7802+ppop));
   temp=Read_256(0x7800+ppop);
   if((temp&0x80)==0x80)
   {
    temp=Read_256(0x7800+l);
    sendlong=0x08;
    for(i=0;i<4;i++)
    {
     tempcom[i]=Read_8583(20+(temp-1)*4+i);
    }
    tempcom[4]=temp;
    tempcom[5]=0;
    tempcom[6]=0;
    tempcom[7]=0;    
    Send(0,0x6519,8);    
   }
   else
   {
    Trcom();
   }
   break;
  case 0x1f:
   temp3=Read256(0x7802+ppop);
   Write_256(0x6518+i,(unsigned char)temp3);
   temp3=Inttobcd2(temp3);
   Write_flash(0xdd018,(unsigned char)temp3);
   temp=Read_256(0x7800+ppop);
   if((temp&0x80)==0x80)
   {
    sendlong=0x02;
    tempcom[0]=Read_256(0x7800+ppop+2);
    tempcom[1]=0;
    Send(0,0x6518,2);    
   }
   else
   {
    Trcom();
   }
   break;
  case 0x21:
   l=ppop+i+2;
   temp=Read_256(0x7800+l);
   for(i=0;i<6;i++)
   {
    temp2=(temp/10)%10;
    Write_256(0x64b6+i*2,temp2);
    temp2=(temp%10);
    Write_256(0x64b7+i*2,temp2);    
   }
   for(i=0;i<6;i++)
   {
    Write_flash(0xdd156+i*2,((temp/10)%10));
    Write_flash(0xdd157+i*2,(temp%10));    
   }   
   temp=Read_256(0x7800+ppop);
   if((temp&0x80)==0x80)
   {
    sendlong=0x00;
    Send(0,0x7800,0);    
   }
   else
   {
    Trcom();
   }
   break;
  case 0x22:
   Sendothersys();
   break;
  case 0x23:
   Sendothersys();
   break;
  default:
   Trcom();
   break;
 }
}
//////////////////////////////////////
void Sendcom1(unsigned char temp)
{
 int i=0;
 
 TXBUF1=temp;
 while((IFG2&UTXIFG1)==0)
 {
  if (i==0xfff) break;
  i++;
 }
}
//////////////////////////////////////
void Send(char type,long sendaddr,char count)
{
 unsigned char i,temp,temp1,temp2;
 
 Sendcom(0xfe);
 Sendcom(0xfe);
 Sendcom(0xfe);
 Sendcom(0xfe);
 Sendcom(0x68);
 temp1=0x68;
 for (i=0;i<6;i++)
 {
  Sendcom(id[i]);
  temp1=temp1+id[i]; 
 }
 Sendcom(0x68);
 temp1=temp1+0x68;
 temp2=Read_256(0x7800+ppop);
 Sendcom(temp2);
 temp1=temp1+temp2;
 Sendcom(sendlong);
 temp1=temp1+sendlong;
 for(i=0;i<count;i++)
 {
  Sendcom(tempcom[i]);
  temp1=temp1+tempcom[i];  
 }
 for (i=0;i<sendlong-count;i++)
 {
  temp=Selecttype(type,sendaddr+i);
  Sendcom(temp);
  temp1=temp1+temp;
 }
  Sendcom(temp1);
  Sendcom(0x16);
  Trcom();
}
//////////////////////////////////////
char Selecttype(char type,long sendaddr)
{
 char temp;
 
 if(type==0)
 {
  temp=Read_256((unsigned int)sendaddr);
 }
 else
 {
  temp=Read_flash(sendaddr);
 }
 
 return(temp);
}
//////////////////////////////////////
void Sendcom(unsigned char temp)
{
 int i=0;
 TXBUF0=temp;
 while((IFG1&UTXIFG0)==0)
 {
  if (i==0xfff) break;
  i++;
 }
}
//////////////////////////////////////
unsigned char Cscala()
{
 unsigned char i,temp1,l,ll,temp;
 
 temp=Read_256(0x7800+ppop);
 if ((temp&0x80)==0)
 {
  temp1=0xca;
 }
 else
 {
  temp1=0;
  for(i=0;i<6;i++)
  {
   temp1=temp1+id[i];
  }
  temp1=temp1+0xd0;
 }
 temp1=temp1+(temp&0x7f);
 ll=ppop+1;
 temp=Read_256(0x7800+ll);
 for (i=0;i<(temp+1);i++)
 {
  l=ppop+1+i;
  temp=Read_256(0x7800+l);
  temp1=temp1+temp;
 }
 return(temp1);
}
///////////////////////////////////////////
void Trcom()
{
 unsigned char l,temp;
 l=ppop+1;
 temp=Read_256(0x7800+l);
 recount=recount-temp-3;
 ppop=ppop+temp+3;
 reflag-=0x04;
}
//////////////////////////
void Trdelay(int l)
{
 int i=0;

 while(i<l)
 {
  i++;
 }
}

⌨️ 快捷键说明

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