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

📄 uart0.c

📁 主要用340单片机的控制的温和湿度采集和向主机发送已接受主机设置参数。
💻 C
📖 第 1 页 / 共 5 页
字号:
//	EA=0;
	
	while((historydataaddr<0xf7f800)&(historydatasearch==0))
	{
			AT45DB642D_MainMemoryPageRead(historydataaddr,historytimebin,4);
			if(errortime==0)
			{
			errortime=0xffff;
			flasherror();
			break;
			}
			timebintodec(historytimebin);
			historytimedec[0]=timede[0];
			historytimedec[1]=timede[1];
			historytimedec[2]=timede[2];
			historytimedec[3]=timede[3];
			historytimedec[4]=timede[4];
			historytimedec[5]=timede[5];			
			if((historytimedec[0]==datatime[0])&(historydatasearch==0))
			{				  
			  if((historytimedec[1]==datatime[1])&(historydatasearch==0))
			   {
			    if((historytimedec[2]==datatime[2])&(historydatasearch==0))
				 {
                    dateaddrsta=historydataaddr;
	                if((length==99360)&(dateaddrsta!=0))
	                 {
                      historydatasearch=1;
		             }
			       if((historytimedec[3]==datatime[3])&(historydatasearch==0))
				    {
					      historydataaddr2=historydataaddr;				      
						  historydataaddr-=0x800;
						  
						  					  				 
				    while((N_historydata<15)&(historydatasearch==0))
				       {
			              AT45DB642D_MainMemoryPageRead(historydataaddr,historytimebin,4);
			              timebintodec(historytimebin);
			              historytimedec[0]=timede[0];
			              historytimedec[1]=timede[1];
			              historytimedec[2]=timede[2];
			              historytimedec[3]=timede[3];
			              historytimedec[4]=timede[4];
			              historytimedec[5]=timede[5];
						  if((historytimedec[0]==datatime[0])&(historytimedec[1]==datatime[1])&(historytimedec[2]==datatime[2])&(historytimedec[3]==datatime[3]))
						  {
					     houraddrsta=historydataaddr;
						  if(historytimedec[4]==datatime[4])
						    {
					      minuteaddrsta=historydataaddr;
						  N_historydata1=N_historydata;
						    }
						  }
	                      if((length==4140)&(houraddrsta!=0))
	                         {
                             historydatasearch=1;
		                     }
	                      if((length==69)&(minuteaddrsta!=0))
	                         {
                            historydatasearch=1;
		                     }
                          historydataaddr+=70;
			              N_historydata++;
						}
						 N_historydata=0;


						 if(houraddrsta==0)
						{
                         historydataaddr=historydataaddr2;
						 houraddrsta=historydataaddr2;
	                      if((length==4140)&(houraddrsta!=0))
	                         {
                             historydatasearch=1;
		                     }
			              AT45DB642D_MainMemoryPageRead(historydataaddr,historytimebin,4);
			              timebintodec(historytimebin);
			              historytimedec[0]=timede[0];
			              historytimedec[1]=timede[1];
			              historytimedec[2]=timede[2];
			              historytimedec[3]=timede[3];
			              historytimedec[4]=timede[4];
			              historytimedec[5]=timede[5];
						 if((historytimedec[3]==datatime[3])&(historydatasearch==0))
						 {
				          while((historytimedec[4]!=datatime[4])&(N_historydata<15))
				           {
                          historydataaddr+=70;
			              AT45DB642D_MainMemoryPageRead(historydataaddr,historytimebin,4);
			              timebintodec(historytimebin);
			              historytimedec[0]=timede[0];
			              historytimedec[1]=timede[1];
			              historytimedec[2]=timede[2];
			              historytimedec[3]=timede[3];
			              historytimedec[4]=timede[4];
			              historytimedec[5]=timede[5];
			              N_historydata++;
						   }
						  if(N_historydata<15)
						    {
					      minuteaddrsta=historydataaddr;
						  N_historydata1=N_historydata;
						    }
	                      if((length==69)&(minuteaddrsta!=0))
	                         {
                            historydatasearch=1;
		                     }
                         N_historydata=0;
					      }
					    else
					    {
			             historydataaddr1+=0x800;
                         historydataaddr=historydataaddr1;						   
						 }
					   }
											 				 
                   }
              else
			    { 
			historydataaddr1+=0x800;
            historydataaddr=historydataaddr1;
				}
              }
            else
			{
			historydataaddr1+=0x800;
            historydataaddr=historydataaddr1;
			 }
            }
		  else
			{
			historydataaddr1+=0x800;
            historydataaddr=historydataaddr1;
			}
          }
        else
	     {
			historydataaddr1+=0x800;
            historydataaddr=historydataaddr1;
          }        
     }

if(historydatasearch==0)
{
    historydataaddr=0x080000;
    historydataaddr1=0x080000;
    historydataaddr2=0x080000;
	dateaddrsta=0;
	houraddrsta=0;
	minuteaddrsta=0;
	historydatasearch=0;



	while((historydataaddr<0xf4f800)&(historydatasearch==0))
	{
			AT45DB642D_MainMemoryPageRead(historydataaddr,historytimebin,4);
			timebintodec(historytimebin);
			if(errortime==0)
			{
			errortime=0xffff;
			flasherror();
			break;
			}
			historytimedec[0]=timede[0];
			historytimedec[1]=timede[1];
			historytimedec[2]=timede[2];
			historytimedec[3]=timede[3];
			historytimedec[4]=timede[4];
			historytimedec[5]=timede[5];			
			if((historytimedec[0]==datatime[0])&(historydatasearch==0))
			{				  
			  if((historytimedec[1]==datatime[1])&(historydatasearch==0))
			   {
			    if((historytimedec[2]==datatime[2])&(historydatasearch==0))
				 {
                    dateaddrsta=historydataaddr;
	                if((length==99360)&(dateaddrsta!=0))
	                 {
                      historydatasearch=1;
		             }
			       if((historytimedec[3]==datatime[3])&(historydatasearch==0))
				    {
					      historydataaddr2=historydataaddr;				      
						  historydataaddr-=0x800;
						  
						  					  				 
				    while((N_historydata<15)&(historydatasearch==0))
				       {
			              AT45DB642D_MainMemoryPageRead(historydataaddr,historytimebin,4);
			              timebintodec(historytimebin);
			              historytimedec[0]=timede[0];
			              historytimedec[1]=timede[1];
			              historytimedec[2]=timede[2];
			              historytimedec[3]=timede[3];
			              historytimedec[4]=timede[4];
			              historytimedec[5]=timede[5];

						  if((historytimedec[0]==datatime[0])&(historytimedec[1]==datatime[1])&(historytimedec[2]==datatime[2])&(historytimedec[3]==datatime[3]))
						  {
					     houraddrsta=historydataaddr;
						  if(historytimedec[4]==datatime[4])
						    {
					      minuteaddrsta=historydataaddr;
						  N_historydata1=N_historydata;
						    }
						  }
	                      if((length==4140)&(houraddrsta!=0))
	                         {
                             historydatasearch=1;
		                     }
	                      if((length==69)&(minuteaddrsta!=0))
	                         {
                            historydatasearch=1;
	                     }
                          historydataaddr+=70;
			              N_historydata++;	
						}
						 N_historydata=0;


						 if(historydatasearch==0)
						{
                         historydataaddr=historydataaddr2;
						 houraddrsta=historydataaddr2;
	                      if((length==4140)&(houraddrsta!=0))
	                         {
                             historydatasearch=1;
		                     }
			              AT45DB642D_MainMemoryPageRead(historydataaddr,historytimebin,4);
			              timebintodec(historytimebin);
			              historytimedec[0]=timede[0];
			              historytimedec[1]=timede[1];
			              historytimedec[2]=timede[2];
			              historytimedec[3]=timede[3];
			              historytimedec[4]=timede[4];
			              historytimedec[5]=timede[5];
						 if((historytimedec[3]==datatime[3])&(historydatasearch==0))
						 {
				          while((historytimedec[4]!=datatime[4])&(N_historydata<15))
				           {
                          historydataaddr+=70;
			              AT45DB642D_MainMemoryPageRead(historydataaddr,historytimebin,4);
			              timebintodec(historytimebin);
			              historytimedec[0]=timede[0];
			              historytimedec[1]=timede[1];
			              historytimedec[2]=timede[2];
			              historytimedec[3]=timede[3];
			              historytimedec[4]=timede[4];
			              historytimedec[5]=timede[5];
			              N_historydata++;
						   }
						  if(N_historydata<15)
						    {
					      minuteaddrsta=historydataaddr;
						  N_historydata1=N_historydata;
						    }
	                      if((length==69)&(minuteaddrsta!=0))
	                         {
                            historydatasearch=1;
		                     }
                         N_historydata=0;
					      }
					    else
					    {
			             historydataaddr1+=0x800;
                         historydataaddr=historydataaddr1;						   
						 }
					   }
											 				 
                   }
              else
			    { 
			historydataaddr1+=0x800;
            historydataaddr=historydataaddr1;
				}
              }
            else
			{
			historydataaddr1+=0x800;
            historydataaddr=historydataaddr1;
			 }
            }
		  else
			{
			historydataaddr1+=0x800;
            historydataaddr=historydataaddr1;
			}
          }
        else
	     {
			historydataaddr1+=0x800;
            historydataaddr=historydataaddr1;
          }        
     }
}
    

switch (length)
{
case 4140:
	if (houraddrsta==0)
	nodata();
	else
	{
    historydataaddr1=houraddrsta-(N_historydata1*70);
	for(iii=0;(iii<(15-N_historydata1))&(sendend==0);iii++)
	     {
	AT45DB642D_MainMemoryPageRead(houraddrsta,datatra,70);
	for(i=0;(i<0xff)&(datatra[69]!=0xDC);i++)
        {
	    AT45DB642D_MainMemoryPageRead(houraddrsta,datatra,70);
	    }
    historytimebin[0]=datatra[0];
    historytimebin[1]=datatra[1];
    historytimebin[2]=datatra[2];
    historytimebin[3]=datatra[3];
	timebintodec(historytimebin);	
    if((timede[0]==datatime[0])&(timede[1]==datatime[1])&(timede[2]==datatime[2])&(timede[3]==datatime[3]))
   {
   sendend=0;
 	houraddrsta+=70;  
    onehor();
   }
	 else
  {
	AT45DB642D_MainMemoryPageRead(houraddrsta,datatra,70);
	for(i=0;(i<0xff)&(datatra[69]!=0xDC);i++)
        {
	    AT45DB642D_MainMemoryPageRead(houraddrsta,datatra,70);
	    }
    historytimebin[0]=datatra[0];
    historytimebin[1]=datatra[1];
    historytimebin[2]=datatra[2];
    historytimebin[3]=datatra[3];
	timebintodec(historytimebin);	
    if((timede[0]==datatime[0])&(timede[1]==datatime[1])&(timede[2]==datatime[2])&(timede[3]==datatime[3]))
     {
   sendend=0;
 	houraddrsta+=70;  
    onehor();
     }
	 else
	 {
   sendend=1;
      } 
   }
	     }
  
  
   
	historydataaddr1+=0x800;
	if(historydataaddr1>0xf7f800)
	{
	historydataaddr1=0x080000;
    }
	houraddrsta=historydataaddr1;
	for(iii=0;(iii<3)&(sendend==0);iii++)
	 {
	  for(jjj=0;(jjj<15)&(sendend==0);jjj++)
		{
	AT45DB642D_MainMemoryPageRead(houraddrsta,datatra,70);
	for(i=0;(i<0xff)&(datatra[69]!=0xDC);i++)
        {
	    AT45DB642D_MainMemoryPageRead(houraddrsta,datatra,70);
	    }
    historytimebin[0]=datatra[0];
    historytimebin[1]=datatra[1];
    historytimebin[2]=datatra[2];
    historytimebin[3]=datatra[3];
	timebintodec(historytimebin);	
    if((timede[0]==datatime[0])&(timede[1]==datatime[1])&(timede[2]==datatime[2])&(timede[3]==datatime[3]))
   {
   sendend=0;
 	houraddrsta+=70;  
    onehor();
   }
	 else
  {
	AT45DB642D_MainMemoryPageRead(houraddrsta,datatra,70);
	for(i=0;(i<0xff)&(datatra[69]!=0xDC);i++)
        {
	    AT45DB642D_MainMemoryPageRead(houraddrsta,datatra,70);
	    }
    historytimebin[0]=datatra[0];
    historytimebin[1]=datatra[1];
    historytimebin[2]=datatra[2];
    historytimebin[3]=datatra[3];
	timebintodec(historytimebin);	
    if((timede[0]==datatime[0])&(timede[1]==datatime[1])&(timede[2]==datatime[2])&(timede[3]==datatime[3]))
     {
    sendend=0;
 	houraddrsta+=70;  
    onehor();
     }
	 else
	 {
   sendend=1;
     } 

   }
		}
		historydataaddr1+=0x800;
		if(historydataaddr1>0xf7f800)
		{
		historydataaddr1=0x080000;
        }
		houraddrsta=historydataaddr1;
	 }



	for(iii=0;(iii<N_historydata1)&(sendend==0);iii++)
	     {
	AT45DB642D_MainMemoryPageRead(houraddrsta,datatra,70);
	for(i=0;(i<0xff)&(datatra[69]!=0xDC);i++)
        {
	    AT45DB642D_MainMemoryPageRead(houraddrsta,datatra,70);
	    }
    historytimebin[0]=datatra[0];
    historytimebin[1]=datatra[1];
    historytimebin[2]=datatra[2];
    historytimebin[3]=datatra[3];
	timebintodec(historytimebin);	
    if((timede[0]==datatime[0])&(timede[1]==datatime[1])&(timede[2]==datatime[2])&(timede[3]==datatime[3]))
   {
   sendend=0;
 	houraddrsta+=70;  
    onehor();
   }
	 else
  {
	AT45DB642D_MainMemoryPageRead(houraddrsta,datatra,70);
	for(i=0;(i<0xff)&(datatra[69]!=0xDC);i++)
        {
	    AT45DB642D_MainMemoryPageRead(houraddrsta,datatra,70);
	    }
    historytimebin[0]=datatra[0];
    historytimebin[1]=datatra[1];
    historytimebin[2]=datatra[2];
    historytimebin[3]=datatra[3];
	timebintodec(historytimebin);	
    if((timede[0]==datatime[0])&(timede[1]==datatime[1])&(timede[2]==datatime[2])&(timede[3]==datatime[3]))
     {
    sendend=0;
 	houraddrsta+=70;  
    onehor();
     }
	 else
	 {
   sendend=1;
      } 
   }
	    }
   }
	break;


case 69:
	if (minuteaddrsta==0)
	nodata();
	else
{
	if(minutelength<=(15-N_historydata1))
  {
	for(iii=0;iii<minutelength;iii++)
	     {
	AT45DB642D_MainMemoryPageRead(minuteaddrsta,datatra,70);
	for(i=0;(i<0xff)&(datatra[69]!=0xDC);i++)
        {
	    AT45DB642D_MainMemoryPageRead(minuteaddrsta,datatra,70);
	    }
	minuteaddrsta+=70;   
    userld();
	     }
  }
	else
  {
     historydataaddr1=minuteaddrsta-(N_historydata1*70);
	 n=(minutelength-15+N_historydata1)/15;
	 m=(minutelength-15+N_historydata1)%15;

	for(iii=0;iii<(15-N_historydata1);iii++)
	     {
	AT45DB642D_MainMemoryPageRead(minuteaddrsta,datatra,70);
	for(i=0;(i<0xff)&(datatra[69]!=0xDC);i++)
        {
	    AT45DB642D_MainMemoryPageRead(minuteaddrsta,datatra,70);
	    }	
	minuteaddrsta+=70;   
    userld();
	     }

	historydataaddr1+=0x800;
	if

⌨️ 快捷键说明

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