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

📄 rs_485.c

📁 c8051f020实现4个 产UART 口
💻 C
字号:

#include  "all.h"








/**********************************************************************
**函数原型:   void Attand_485(void)
**入口参数:   Xin_485_b=1
**出口参数:   无
**返 回 值:   无
**说    明:  处理上位机485命令之子程序。
************************************************************************/



void Attand_485(void)         //注:中断里面使用寄存器组0,??是否与主程序有冲突
  {  unsigned int i;     //     不用寄存器组0的话,RW24XX不能正常读写时钟
     uchar j;
     uchar fun;
     //uchar Tem_lei;
     uchar sum;
    // uchar *Poit;

    fun=0;
    if(Xin_485_b==1)
        {
          //Wait(250);
          Xin_485_b=0;
          i=GPRS_RX_Buff[1];
          i=i+2;
          sum=0;
          //goto dddd;
          for(j=0;j<i;j++)
             {
               sum=sum+GPRS_RX_Buff[j];                  //  求代数和
             }
          if(sum==GPRS_RX_Buff[i]&&GPRS_RX_Buff[i+1]==0xab)  //校验和等且最后的字节为0XAB
             {

                 switch (GPRS_RX_Buff[0])
                    {
                      case 0:      //接收到error ***********************************************************************

                           break;
                       case 1:      //接收到OK ***********************************************************************
                            if(GPRS_RX_Buff[2]==3)    {
                                 // 发成功音


                            }
                            else if(GPRS_RX_Buff[2]==4)    {
                                 // 发成功音


                            }
                            else ;
                           break;
                       case 2:      //接收到对码**************************************************************

                          
                           break;
		        case 3:      //接收到 说    明:  普通控制子程序************************************************************
                        
                           break;
			  case 4:      //接收重要控制子程序************************************************************
                          
                           break;
  			
                      case 16:    //***********************************
                                 Ying_da_ok(16);
                                 break;
                      case 17:   //********************************
                                 Ying_da_ok(17);
                                 break;

                      case 18:    //测试用*****************************
                               
                                 break;
                      default:  ;

                           break;
                    }     // switch (GPRS_RX_Buff[0])   de
             } //if de
   }
}

//=====================================================================================
   //------以上是对上位机的485命令进行处理------------------------------
//=====================================================================================














/**********************************************************************
**函数原型:   void  ShangZhuang_message(uchar fun, uchar *Poit, uchar Lengh)
**入口参数:   功能码,内容,数据长度

⌨️ 快捷键说明

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