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

📄 main.c

📁 LPC213X驱动LCD19264,I2C通讯,串口,FLASH读写
💻 C
📖 第 1 页 / 共 5 页
字号:
   //else
     //strncpy((char *)ContainerNumber1,(char *)TempBuf,sizeof(TempBuf)); 
   }  
   else  strncpy((char *)ContainerNumber1,"CNo1",4);
      
     
   ReadEeprom(CAT24WC02,EEPROM_CONTAINER2,(uint8 *)TempBuf,sizeof(ContainerNumber2));
   if(isgraph(TempBuf[0]))
   { i=0;
    while(isgraph(TempBuf[i++]));//==1)&(i<MDTIDLENGTH))
    if(i<CNTR_MAXLENGTH)
     TempBuf[i-1]=0;
    else
     TempBuf[CNTR_MAXLENGTH-1]=0;
   //temp=strlen((char *)TempBuf);
   if(strlen((char *)TempBuf)==0)
     strncpy((char *)ContainerNumber2,"CNo2",4);
   else //if(strlen((char *)TempBuf)>=sizeof(ContainerNumber2))
     strncpy((char *)ContainerNumber2,(char *)TempBuf,sizeof(ContainerNumber2)-1);
   //else
     //strncpy((char *)ContainerNumber2,(char *)TempBuf,sizeof(TempBuf));   
   }
   else  strncpy((char *)ContainerNumber2,"CNo2",4);
   
    
   ReadEeprom(CAT24WC02,EEPROM_SEALNUMBER1,(uint8 *)TempBuf,sizeof(EEPROM_SEALNUMBER1));
   if(isgraph(TempBuf[0]))
   {i=0;
    while(isgraph(TempBuf[i++]));//==1)&(i<MDTIDLENGTH))
    if(i<SN_MAXLENGTH)
     TempBuf[i-1]=0;
    else
     TempBuf[SN_MAXLENGTH-1]=0;
   //temp=strlen((char *)TempBuf);
   if(strlen((char *)TempBuf)==0)
     strncpy((char *)SealNumber1,"SN1",3);
   else //if(strlen((char *)TempBuf)>=sizeof(SealNumber1))
     strncpy((char *)SealNumber1,(char *)TempBuf,sizeof(SealNumber1)-1);
   //else
     //strncpy((char *)SealNumber1,(char *)TempBuf,sizeof(TempBuf));  
    }
   else  strncpy((char *)SealNumber1,"SN1",3);
     
   ReadEeprom(CAT24WC02,EEPROM_SEALNUMBER2,(uint8 *)TempBuf,sizeof(EEPROM_SEALNUMBER2));
   if(isgraph(TempBuf[0]))
   {i=0;
    while(isgraph(TempBuf[i++]));//==1)&(i<MDTIDLENGTH))
    if(i<SN_MAXLENGTH)
     TempBuf[i-1]=0;
    else
     TempBuf[SN_MAXLENGTH-1]=0;
   //temp=strlen((char *)TempBuf);
   if(strlen((char *)TempBuf)==0)
     strncpy((char *)SealNumber2,"SN2",3);
   else //if(strlen((char *)TempBuf)>=sizeof(SealNumber2))
     strncpy((char *)SealNumber2,(char *)TempBuf,sizeof(SealNumber2)-1);
   //else
     //strncpy((char *)SealNumber2,(char *)TempBuf,sizeof(TempBuf)); 
   }   
   else  strncpy((char *)SealNumber2,"SN2",3);  
   
   ReadEeprom(CAT24WC02,EEPROM_TRAILER,(uint8 *)TempBuf,sizeof(TrailerNumber));
   if(isgraph(TempBuf[0]))
   {i=0;
    while(isgraph(TempBuf[i++]));//==1)&(i<MDTIDLENGTH))
    if(i<TRAILER_MAXLENGTH)
     TempBuf[i-1]=0;
    else
     TempBuf[TRAILER_MAXLENGTH-1]=0;
   //temp=strlen((char *)TempBuf);
   if(strlen((char *)TempBuf)==0)
     strncpy((char *)TrailerNumber,"Trail",5);
   else //if(strlen((char *)TempBuf)>=sizeof(TrailerNumber))
     strncpy((char *)TrailerNumber,(char *)TempBuf,sizeof(TrailerNumber)-1);
   //else
     //strncpy((char *)TrailerNumber,(char *)TempBuf,sizeof(TempBuf));    
   }
   else  strncpy((char *)TrailerNumber,"Trail",5);  
   */
   /*ReadEeprom(CAT24WC02,EEPROM_MDT,(uint8 *)MDTID,sizeof(MDTID));          
   ReadEeprom(CAT24WC02,EEPROM_DriverID,(uint8 *)DriverID,sizeof(DriverID));  
   ReadEeprom(CAT24WC02,EEPROM_CONTAINER1,(uint8 *)ContainerNumber1,sizeof(ContainerNumber1));
   ReadEeprom(CAT24WC02,EEPROM_CONTAINER2,(uint8 *)ContainerNumber2,sizeof(ContainerNumber2));
   ReadEeprom(CAT24WC02,EEPROM_SEALNUMBER1,(uint8 *)SealNumber1,sizeof(SealNumber1));
   ReadEeprom(CAT24WC02,EEPROM_SEALNUMBER2,(uint8 *)SealNumber2,sizeof(SealNumber2));   
   ReadEeprom(CAT24WC02,EEPROM_TRAILER,(uint8 *)TrailerNumber,sizeof(TrailerNumber));*/  
 } 
  
  


/****************************************************************************
* 名称:DelayMS()
* 功能:长软件延时
* 入口参数:dly		延时参数,值越大,延时越久
* 出口参数:无
****************************************************************************/

void  DelayUS(uint32  dly)
{  
  uint16  i;
  uint8 j;
   for(j=0;j<SYSTEMCLOCK;j++)
   for(; dly>0; dly--) 
    for(i=0; i<11; i++);
}

void  DelayMS(uint32  dly)
{ uint8 j;
  uint16  i;
  for(j=0;j<SYSTEMCLOCK;j++)
  {
   for(; dly>0; dly--) 
      for(i=0; i<11000; i++); 
   }
   #ifdef USE_WATCHDOG
   WdtFeed();
   #endif
}


/***************************************************************/
uint8 CheckNewMessageNum()
  { uint8 i,j;
       j=0;
       for(i=0;i<8;i++)
        {
         if(Message[i][0]=='<')
           j++;        
         }
   return j;
  }
/******************************************************************************/
void ReceiveEventDeal()
{
  uint16 i;
 // char *p;
  switch(ReceiveBuffer[DealPointer+0])
   {
     case 'M':            
            i=0;
           if(ReceiveBuffer[DealPointer+0]=='M')
            {
             //NewMessage++;
              NewMessage|=~checkch1[MessageNum];
              while((ReceiveBuffer[DealPointer]!='\0')&&(ReceiveBuffer[DealPointer]!='!')&&(i<255))   
              {
              Message[ReceiveMessageBox][i++]=ReceiveBuffer[DealPointer];  //COPY A FRAME DATA
              if(++DealPointer>MAX_RECEIVE_BUFFER)
              DealPointer=0;
              }
              Message[ReceiveMessageBox][i]='\0';//end  
              MessageNum++;
              if(++ReceiveMessageBox>8)
               ReceiveMessageBox=0;
             }
          else  
             {   
             DealPointer=0;
             ReceivePointer=0;  
              }   
          if(DealPointer>=ReceivePointer)
           { 
             DealPointer=0;
             ReceivePointer=0;
           }  
            break;
    case 's':
            GsmSignal=ReceiveBuffer[DealPointer+2];
            break;        
    case 'W':
            break;
    case 'G':
            break;        
    default: break;
  }          
 }
 
 /******************************************************************************/
 #define COMMANDPOSITION         1
 #define MDTPOSITION             2
 #define DRIVERIDPOSITION        3
 #define DATAPOSITION            4
void DealReceiveGSM(void)
{
  uint16 i;
  char t;
  uint8 RcvData[16];
  char *str;
  
   char ReNum[20];//,data_buf[80];
   char *PT;
   
 // char *p;
 // comm=GSMReceiveBuffer[GSMDealPointer+MDTIDLENGTH+DRIVERIDLENGTH+5];
   //i=GoToNChStrl(GSMReceiveBuffer,';',3);
  // comm=GSMReceiveBuffer[i];
  while(ReceiveEvent!=0)
  {
   while((GSMReceiveBuffer[GSMDealPointer]!='<')&(GSMDealPointer<=GSMReceivePointer)) GSMDealPointer++; //find '<'
    
    i=GoToNChStrl((char *)GSMReceiveBuffer,';',MDTPOSITION);  
    if(i>=255) 
      goto NEXT_EVENT_DEAL;
    str=(char *)&GSMReceiveBuffer[GSMDealPointer+i];
    memset((char *)RcvData,0,sizeof(RcvData));
    strncpy((char *)RcvData,str,6);
    if(strncmp((char *)MDTID,(char *)RcvData,6)!=0)
      goto NEXT_EVENT_DEAL;
    
    i=GoToNChStrl((char *)GSMReceiveBuffer,';',DRIVERIDPOSITION); 
    if(i>=255) 
      goto NEXT_EVENT_DEAL;
    str=(char *)&GSMReceiveBuffer[GSMDealPointer+i];
    memset((char *)RcvData,0,sizeof(RcvData));
    strncpy((char *)RcvData,str,6);
    if(strncmp((char *)DriverID,(char *)RcvData,6)!=0)
      goto NEXT_EVENT_DEAL;  
  
  
   if((GSMReceiveBuffer[GSMDealPointer]!='<')|(GSMDealPointer>=GSMReceivePointer))
    {
      ReceiveEvent=0;
      VICIntEnClr |= 0x00000040;
      GSMDealPointer=0;
      GSMReceivePointer=0;
      Receiving=0;
      FrameEnd=0;
      ReceHead=0;
      VICIntEnable = 1<<6;//0x00000040;           // 使能UART0中断 
     }
   else
    {
     i=GoToNChStrl((char *)GSMReceiveBuffer,';',1);  //found command
     if(i>=255)     
       GSMDealPointer=GSMDealPointer+i;
     else     
      switch(GSMReceiveBuffer[i])  //comm=GSMReceiveBuffer[i-2];//GSMDealPointer+16
      {
       case 'L':
           switch(GSMReceiveBuffer[i+1])
            {
             case '0': //login
                    break;
             case '1':
                if(MenuWaitEvent==LOGIN_MENU)
                {
                 /*i=GoToNChStrl((char *)GSMReceiveBuffer,';',DATAPOSITION);
                 if(i==255)
                    goto  EXIT_L;
                 str=(char *)&GSMReceiveBuffer[GSMDealPointer+i];
                 i=GoToNChStrl(str,'>',1);
                 if(i==255)
                     goto  EXIT_L;
                 memset((char *)ACK_Requirly,0,sizeof((char *)ACK_Requirly));  
                 strncpy((char *)ACK_Requirly,str,strlen((char *)ACK_Requirly));*/
                 MenuWaitEvent=0;
                 ACK=Approved;
                 MenuStateFlag=Login(WAITEVENTKEY,MenuStateFlag);
                }
                break;
             case '2':
               if(MenuWaitEvent==LOGIN_MENU)
                {
                 /*i=GoToNChStrl((char *)GSMReceiveBuffer,';',DATAPOSITION);
                 if(i==255)
                    goto  EXIT_L;
                 str=(char *)&GSMReceiveBuffer[GSMDealPointer+i];
                 i=GoToNChStrl(str,'>',1);
                 if(i==255)
                     goto  EXIT_L;
                 memset((char *)ACK_Requirly,0,sizeof((char *)ACK_Requirly));  
                 strncpy((char *)ACK_Requirly,str,sizeof(ACK_Requirly));*/
                 MenuWaitEvent=0;
                 ACK=Disapproved; 
                 MenuStateFlag=Login(WAITEVENTKEY,MenuStateFlag);
                }
                    break;
             case '3'://logout
                    break;
             case '4'://attach
                    break;
             case '5'://detach
                    break;
             case '6': 
                if(MenuWaitEvent==LOGOUT_MENU)
                {
                 /*i=GoToNChStrl((char *)GSMReceiveBuffer,';',DATAPOSITION);
                 if(i==255)
                    goto  EXIT_L;
                 str=(char *)&GSMReceiveBuffer[GSMDealPointer+i];
                 i=GoToNChStrl(str,'>',1);
                 if(i==255)
                     goto  EXIT_L;
                 memset((char *)ACK_Requirly,0,sizeof((char *)ACK_Requirly));  
                 strncpy((char *)ACK_Requirly,str,sizeof(ACK_Requirly));*/
                 MenuWaitEvent=0;
                 ACK=Approved;
                 MenuStateFlag=Logout1(WAITEVENTKEY,MenuStateFlag);
                }
                 break;
             case '7': 
               if(MenuWaitEvent==LOGOUT_MENU)
                {
                 /*i=GoToNChStrl((char *)GSMReceiveBuffer,';',DATAPOSITION);
                 if(i==255)
                    goto  EXIT_L;
                 str=(char *)&GSMReceiveBuffer[GSMDealPointer+i];
                 i=GoToNChStrl(str,'>',1);
                 if(i==255)
                     goto  EXIT_L;
                 memset((char *)ACK_Requirly,0,sizeof((char *)ACK_Requirly));  
                 memcpy((char *)ACK_Requirly,str,sizeof(ACK_Requirly));*/
                 MenuWaitEvent=0;
                 ACK=Disapproved;
                 MenuStateFlag=Logout1(WAITEVENTKEY,MenuStateFlag);
                }
                    break;
             default:
                    break;
             }
         // EXIT_L:
              Beep(100);  
              str=(char *)&GSMReceiveBuffer[GSMDealPointer];
              GSMDealPointer+=strlen(str)+1; 
              if(GSMDealPointer>=GSMReceivePointer)
               { 
                VICIntEnClr =1<<6;// 0x00000040;
                GSMDealPointer=0;
                GSMReceivePointer=0;
                VICIntEnable= 1<<6;//0x00000040;           // 使能UART0中断 
               }
             break;
    

    case InBoxMsg:            
             if(GSMReceiveBuffer[i+1]=='0')
             {
              i=GoToNChStrl((char *)GSMReceiveBuffer,';',DATAPOSITION);
              if((i==255)&(i==0))
                goto EXIT_InBoxMsg;
              str=(char *)&GSMReceiveBuffer[GSMDealPointer+i]; 
              str--;
              memset((char *)Message[ReceiveMessageBox],0,sizeof(Message[ReceiveMessageBox]));           
              memcpy((char *)Message[ReceiveMessageBox],str,255);//,strlen(str));
              
              Message[ReceiveMessageBox][0]='<';
              //str=(char *)&GSMReceiveBuffer[GSMDealPointer];  
              //GSMDealPointer+=strlen(str)+1;
              
              WriteEeprom(CAT24WC02, EEPROM_MsgAddr+255*MessageNum,(uint8 *)Message[ReceiveMessageBox], 255); 
              NewMessage++;
              MessageNum++;
              if(++ReceiveMessageBox>8)
               ReceiveMessageBox=0;
              WriteEeprom(CAT24WC02, EEPROM_CurrentMsgAddr,(uint8 *)&ReceiveMessageBox, 1); 
            }
            
      EXIT_InBoxMsg: 
              Beep(100); 
              str=(char *)&GSMReceiveBuffer[GSMDealPointer];
              GSMDealPointer+=strlen(str)+1;      
              if(GSMDealPointer>=GSMReceivePointer)
               { 
                VICIntEnClr =1<<6;// 0x00000040;
                GSMDealPointer=0;
                GSMReceivePointer=0;
                VICIntEnable= 1<<6;//0x00000040;           // 使能UART0中
               }  
            break;       
    case '1':  //work order
           if(GSMReceiveBuffer[i+1]=='0')  //work summary
            {;}
           else if((GSMReceiveBuffer[i+1]=='1')||(GSMReceiveBuffer[i+1]=='2')) //job detail 1
           {
             if(WorkSavePointe>7)
               WorkSavePointe=0;
             t=GSMReceiveBuffer[i+1];     
             i=GoToNChStrl((char *)GSMReceiveBuffer,';',DATAPOSITION);
             if(i==255)
                goto EXIT_1;
             str=(char *)&GSMReceiveBuffer[GSMDealPointer+i];

⌨️ 快捷键说明

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