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

📄 com.c

📁 一个循环冗余校验的程序
💻 C
字号:

#include  "headfiles\headfiles.h"

struct baudStaff
{
     char t1;
     char pcon;
};


//Crystal Freq  =  18.432MHz

struct baudStaff code baudList[] =
{
    {0xff,0x80}, /*0   1152000*/
    {0xfe,0x80}, /*1    576000*/
    {0xfd,0x80}, /*2    288000*/
    {0xfc,0x80}, /*3    144000*/
    {0xf6,0x80}, /*4    115200*/
    {0xec,0x80}, /*5     57600*/
    {0xe2,0x80}, /*6     38400*/
    {0xd8,0x80}, /*7     28800*/
    {0xc4,0x80}, /*8     19200*/
    {0x89,0x80}   //  {0x88,0x80}  /*9      9600*/
};

void RandT(void) interrupt 4
{
//   unsigned char tmp;
//  bit bit_tmp;
   if(TI)
   {
//      TI=0;
      return;
   }
   if(RI)
   {
       RI=0;
//     tmp = SBUF;
//       Goto_Sleep_timer = 50000;
//	   Rcv_Data();
//	   bit_tmp = RB8;
//     P1 = tmp;
//     TB8 = RB8;
//     SBUF = tmp;
   }
}







void SetCom(char baudNum)
{
      SCON = 0xD0;
//      SCON = 0x50;
      PCON = baudList[baudNum].pcon;
      REN  = 1;
      TMOD = 0x21;
      TH1  = baudList[baudNum].t1;
	  TL1  = baudList[baudNum].t1;
      AUXR = AUXR|0x40;
      TR1  = 1;
      ES   = 1;
      EA   = 1;
}



/*


void Set_Parity_Bit(unsigned char ch)
{
  unsigned char j;
  unsigned char temp;
  unsigned char b_tmp;
 	b_tmp = 0;
	temp = ch;
	for(j=0;j<8;j++)
	 {
		temp>>=1;
		if(CY)
		 b_tmp++;   
	 }
	TB8 = b_tmp&0x01; 
}


bit Set_Parity_Flag;
 

void  Send_Str(unsigned char *str)
{
//   Send_Audi_Key = 0;
   while(*str != '\0') 
     {
	   SBUF = *str;
	   Set_Parity_Flag = 1;
	   while(TI == 0)
	   {
	      if(Set_Parity_Flag) 
		    {
	           Set_Parity_Bit(*str);
			   Set_Parity_Flag = 0;
			}     
	   }
       TI = 0;
	   str++; 	   
	 }
//	 Delay(30);
//   Send_Audi_Key = 1; 
}



void Wait_Send_OK(void)
{
    while(TI == 0);
	  TI = 0; 
} 


void Send_xxx_char(unsigned char ch)
{
    unsigned  char tmp;
	tmp = ((ch&0xF0)>>4);
	if(tmp<10)
	 {
	   Set_Parity_Bit(tmp+48);
	   SBUF = tmp+48;
	 }
	else
	 {
	   Set_Parity_Bit(tmp+55);
	   SBUF = tmp+55;
	 }
	Wait_Send_OK();
	tmp = ch&0x0F;
	if(tmp<10)
	 {
	   Set_Parity_Bit(tmp+48);
	   SBUF = tmp+48;
	 }
	else
	 {
	   Set_Parity_Bit(tmp+55);
	   SBUF = tmp+55;
	 }
	Wait_Send_OK();
}

void Send_HEX_Str(unsigned char *str,unsigned char n)
{
    while(n!=0)
	  {
	     Send_xxx_char(*str++);
		 Send_Str(" "); 
		 n--;
	  }
}

*/


/*
void Send_HEX_char(unsigned char ch)
{
    SBUF = '0';
	Wait_Send_OK();
    SBUF = 'x';
	Wait_Send_OK();
	Send_xxx_char(ch);
}
*/





⌨️ 快捷键说明

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