亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? communication.c

?? 基于S3C4510的家庭網(wǎng)關(guān)的通訊進(jìn)程程序源碼
?? C
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
        BYTE TimeBuffer[8];
	BYTE fun_code,node,netwk;
        WORD data_len;	
	BYTE buf_pac[20];
	BYTE *PacketStr,tmp_buf[20];
	BYTE tittle[30];
        BYTE body[50]; 
	BYTE *SendMailStr;
	BYTE ResDevData[7]={0x44,0x00,0x02,0x00,0x98,0x00,0xc6};//應(yīng)答數(shù)據(jù)幀格式
	
	PacketStr = tmp_buf;
	netwk = (unsigned char)netwk1;/*獲得網(wǎng)絡(luò)號(hào)*/
	/*以下為查詢節(jié)點(diǎn)要求發(fā)送數(shù)據(jù)幀程序*/
	for(t=0;t<23;t++)             /*設(shè)定查詢間隔*/
        {
     	    if(write_flag==0)
            {write(fd,AskData,strlen(AskData));}/*發(fā)送請(qǐng)求數(shù)據(jù)幀*/
            else
            {write_flag=0;}
            usleep(1000000);
            if (wait_flag==FALSE)
            {                    
               memset(buf_pac,'\0',sizeof(buf_pac));
               res = read(fd,buf_pac,20);
               buf_pac[res]=0; 
               if(res==1)         /* 如果只輸入 CR 則停止返回*/
               { 
               	   printf("nodata\n");
                   wait_flag = TRUE; /* 等待新的輸入訊號(hào) */ 
               }        
               else if(buf_pac[0]==0x43)/*zigbee返回正確應(yīng)答*/
               {                
                   wait_flag = TRUE;
                   write_flag = 1;
               }
               else if(buf_pac[0]==0x44)//收到子節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包                      
	       {
	           if((buf_pac[1]==AskData[1])&&(buf_pac[4]==report_data_fun_code))  	
                   {
	               fun_code=(buf_pac[3]&0x0f);
	               node=(buf_pac[3]>>4)&0x0f;
	               show_node = (int)(buf_pac[1]&0x0f);
	              /*按功能編碼判斷數(shù)據(jù)長(zhǎng)度*/
		       switch(fun_code)
		       {
                           case 0x01: data_len=4;break; 
	                   case 0x02: data_len=4;break;
		           case 0x03: data_len=2;break;
		           case 0x04: data_len=1;break;
		           case 0x05: data_len=1;break;
		           case 0x06: data_len=8;break;
		           case 0x07: data_len=6;break;
		           case 0x08: data_len=6;break;
		           case 0x09: data_len=3;break; 
		           case 0x0a: data_len=3;break;
		           case 0x0b: data_len=5;break;
		           case 0x0c: data_len=5;break;
		           case 0x0d: data_len=2;break; 
		           case 0x0e: data_len=7;break;
		           default:data_len=0;
		        }		          
		       /*發(fā)送郵件*/		       
		       sprintf(tittle,"shu ju you jian");
	               sprintf(body,"jie dian shu ju fa song");               
	               for(j=0;j<data_len;j++)  //循環(huán)讀取數(shù)據(jù)
		          {
		            tmp_buf[j]=buf_pac[j+5];                            
	                  }
	                  tmp_buf[data_len] = '\0'; 
	                SendMailStr = Send_Mail_Packet(netwk,node,PacketStr);	                           
	                mail(DstStr,SrcStr,tittle,body,SendMailStr); 
	               if(data_len==4) //脈沖量數(shù)據(jù),提交網(wǎng)頁(yè)顯示
		       {
		       	for(j=0;j<data_len;j++)
		       	 {NetNode[netwk1][show_node].data[j]=tmp_buf[j];}
		       	NetNode[netwk1][show_node].data[data_len]='\0';
		       	NetNode[netwk1][show_node].node_data \
		       	    = Char2long(NetNode[netwk1][show_node].data);       
	                Get_Time(&TimeBuffer[0]);
                        sprintf(NetNode[netwk1][show_node].show_node_time, \
                        "(%02i/%02i;%02i:%02i)",ds_1302_time.month,ds_1302_time.date,\
                        ds_1302_time.hour,ds_1302_time.min);
		       }                       
	               data_flag=1;
	               wait_flag = TRUE; /* 等待新的輸入訊號(hào) */	              
	               return(data_flag);                             
	           }
	           else 
	           {
	           	/*如果此時(shí)有安放信息到來(lái)則相應(yīng)安防信息*/
	               /*安防信息的應(yīng)答信息發(fā)送*/
	               ResDevData[1]=buf_pac[1];
	               if(buf_pac[4]==report_switch1_order)
	               {
	                 ResDevData[4] = respond_switch1;
	               }
	               else if(buf_pac[4]==report_switch2_order)
	               {
	                 ResDevData[4] = respond_switch2;	
	               }
	               else
	               {printf("not alarm infor");break;}
	                ResDevData[3]=buf_pac[3];
	              if(((buf_pac[3]&0x0f)==0x04)||((buf_pac[3]&0x0f)==0x05))
	              {
	                if(alarm_flag==0)
	                {ResDevData[5]=alarm_unreply;}
	                else
	                {ResDevData[5]=alarm_reply_data;}
	              }
	              else
	              {ResDevData[5]=alarm_reply_data;}
	              ResDevData[6] = Bit_Xor(6,ResDevData);	
	              write(fd,ResDevData,strlen(ResDevData)); 
	               /*調(diào)用設(shè)防子程序*/
	               alarm_return=Alarm_Inf(buf_pac);
                       switch(alarm_return)
                       {
            	         case -1: printf("alarm_return error\n");break;
            	         case  2: printf("alarm_return success\n");break;
            	         case  0: printf("解除報(bào)警設(shè)置關(guān)聯(lián)矩陣為0.\n");break;
            	         case  1: printf("報(bào)警設(shè)置關(guān)聯(lián)矩陣為1.\n");break;
            	         default: printf("alarm_return is not right.\n");
                       }
	               data_flag=0;
	               wait_flag = TRUE; /* 等待新的輸入訊號(hào) */ 	                               
	          }	  
	      }	            
	      else if(buf_pac[0]==0x52)
	      {	            	
	  	   if(t==22)
	  	   {
	  	       wait_flag = TRUE; /* 等待新的輸入訊號(hào) */ 
	  	       data_flag=0;
	  	       return(data_flag);
	  	   }
	  	   wait_flag = TRUE; /* 等待新的輸入訊號(hào) */ 
	  	   printf("||\n");	  	
	       }
	       else
	       {
	           memset(buf_pac,'\0',sizeof(buf_pac));
	  	   wait_flag = TRUE; /* 等待新的輸入訊號(hào) */ 
	  	   printf("!\n");   	      
	       }
         }
	 if(t==22)
	 {
	 	 data_flag=0;
	        return(data_flag); 
	 }                                                                                                                                                	                                                              
         
      }
      data_flag=0;
      return(data_flag);
	
}
/*********************************************************************
*ASC碼轉(zhuǎn)換為十六進(jìn)制,并將兩個(gè)ASC碼數(shù)合并為一個(gè)16位的16進(jìn)制數(shù)        
**********************************************************************/
BYTE Bcd2hex(BYTE x1,BYTE x2)
{
   int i;
   BYTE y[2];
   y[0]=x1;
   y[1]=x2;
   for(i=0;i<2;i++)
   {
	if((y[i] > 0x29)&&(y[i] < 0x40))
	{
		y[i]=y[i]-0x30;
	}
	else if((y[i] > 0x40)&&(y[i] < 0x47))
	{
		y[i]=y[i]-0x41;
		y[i]=(y[i]/16)*10+y[i]%16;
	}
	else if((y[i] > 0x60)&&(y[i] < 0x67))
	{
		y[i]=y[i]-0x51;
		y[i]=(y[i]/16)*10+y[i]%16;
	}
	else
	{
		return(0xff);
        }
    }
    return ((( y[0]<<4) & 0xf0) + ( y[1] & 0x0f));      
}
/*********************************************************************
*ASC碼轉(zhuǎn)十六進(jìn)制                                                     
**********************************************************************/
WORD Bcd2int(BYTE x)
{
	WORD y;  
	if((x > 0x29)&&(x < 0x40))
	{
		y=(WORD)(x-0x30);
	}
	else if((x > 0x40)&&(x < 0x47))
	{
		x=x-0x41;
		y=(WORD)((x/16)*10+x%16);
	}
	else if((x > 0x60)&&(x < 0x67))
	{
		x=x-0x51;
		y=(WORD)((x/16)*10+x%16);
	}
	else
	{
		return(100);
        }   
     return (y);      
}
/*********************************************************************
*將兩字節(jié)的字符合成一字節(jié)的字符                                       
**********************************************************************/
BYTE Bcd2char(BYTE *x)
{
	BYTE DsStr;
	BYTE tmp[3];
	int i;
	memset(tmp,'\0',sizeof(tmp));
	for(i=0;i<2;i++)
        {        	
        	tmp[i] = *x;
                x++;
        }	
	DsStr = (((tmp[0] & 0x0f)*10)+(tmp[1] & 0xf)); 
	return(DsStr);
}
/*********************************************************************
*將四字節(jié)的字符型合成一個(gè)long的長(zhǎng)整型                                
**********************************************************************/
BYTE Char2long(BYTE Data[10])
{
	unsigned long int x;
	x=(Data[0]<<24)+(Data[1]<<16)+(Data[2]<<8)+Data[3];	
	return(x);
}
/*********************************************************************
*函數(shù)名:Bit_Xor 按位異或,進(jìn)行數(shù)據(jù)校驗(yàn)                               
*發(fā)送數(shù)據(jù)與接收數(shù)據(jù)的校驗(yàn)規(guī)則                                        
**********************************************************************/
BYTE Bit_Xor(int len,BYTE XorData[20])
{
        int i;
	XorData[len] = XorData[0];
	for(i=1;i<len;i++)
	{
	XorData[len] = XorData[len] ^ XorData[i];
        }
        return(XorData[len]);
	
}
/*********************************************************************
*函數(shù)名:Send_Mail_Packet  發(fā)送郵件數(shù)據(jù)包函數(shù)                        
*功能:郵件的按規(guī)定格式進(jìn)行數(shù)據(jù)打包                                  
**********************************************************************/
BYTE *Send_Mail_Packet(BYTE netwk,BYTE node,BYTE * MailDataPtr)
{
         int j;
	 WORD y1,y2,data_len;
	 BYTE TimeBuffer[8];	          
         BYTE *SendMailStr,SendMailData[20];         
         
         SendMailStr = SendMailData;
         memset(SendMailData,'\0',sizeof(SendMailData)); 
         data_len = strlen(MailDataPtr);
         /*將時(shí)間按規(guī)定格式打包*/
         y1=date_encoder(&TimeBuffer[0]);	                            
	 SendMailData[0]=(unsigned char)(y1>>8);
	 SendMailData[1]=(unsigned char)(y1&0x00ff);
         y2=time_encoder(&TimeBuffer[0]);
         SendMailData[2]=(unsigned char)(y2>>8);
	 SendMailData[3]=(unsigned char)(y2&0x00ff);
	 SendMailData[4]=((netwk<<4)+(node&0x0f));	 
	 for(j=0;j<data_len;j++)
         {
		    SendMailData[j+5] = *MailDataPtr;
		    MailDataPtr++;                           
	 }     
	 SendMailData[data_len+5] = Bit_Xor(data_len+5,SendMailData);
	 SendMailData[data_len+6] = '\0';
	 return(SendMailStr);
}
/*********************************************************************
*函數(shù)名:Get_Mail_Address 獲取郵箱地址                               
*功能: 從I2C中讀取郵件服務(wù)器郵箱地址                                  
**********************************************************************/
void Get_Mail_Address(void)
{
	int i,j,dst_len,src_len;	
        BYTE *dst,*src;
      	BYTE *mail_dst_len=IICReadInt(IIC_DEV_0,0x0060,1);//讀取IP地址長(zhǎng)度
        BYTE *mail_src_len=IICReadInt(IIC_DEV_0,0x0080,1);  
          
        dst_len = (int)*mail_dst_len;
        src_len = (int)*mail_src_len;
        
        dst=IICReadInt(IIC_DEV_0,0x0063,dst_len);
        src=IICReadInt(IIC_DEV_0,0x0083,src_len);
        for(i=0,j=0;j<dst_len,i<src_len;j++,i++)
        {
        	DstStr[j] = *dst;//目標(biāo)地址
        	SrcStr[i] = *src;//源地址
                dst++,src++;
        }
        DstStr[dst_len] = '\0';
        SrcStr[src_len] = '\0'; 
}
/*********************************************************************
*函數(shù)名:Get_User_Inf 獲取用戶信息                                   
*功能:通過(guò)I2C從24c64中讀取用戶配置信息                              
**********************************************************************/
void Get_User_Inf(void)
{
	int i,j,name_len,add_len;	
        BYTE *name,*address;
      	BYTE *mail_name_len=IICReadInt(IIC_DEV_0,0x0020,1);
        BYTE *mail_add_len=IICReadInt(IIC_DEV_0,0x0040,1);//讀取信息長(zhǎng)度  
         name_len = (int)*mail_name_len;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99深爱久久99精品| 免费看日韩精品| www.日韩精品| 欧美国产禁国产网站cc| 国产最新精品免费| 欧美va日韩va| 麻豆成人在线观看| 日韩欧美国产三级电影视频| 日韩国产一二三区| 欧美一区二区视频在线观看2020| 亚洲成人一区二区| 欧美巨大另类极品videosbest| 一区二区三区毛片| 欧美日韩一级二级| 欧美日韩小视频| 亚洲成人一区二区| 欧美一区日韩一区| 蜜桃久久av一区| 亚洲精品一区二区三区99| 国产呦萝稀缺另类资源| 久久精品人人做人人爽人人| 国产精品一卡二| 国产精品网曝门| 91浏览器在线视频| 亚洲午夜在线视频| 这里只有精品视频在线观看| 男女性色大片免费观看一区二区 | 色婷婷亚洲精品| 一区二区三区美女视频| 欧美男人的天堂一二区| 蜜桃免费网站一区二区三区| 久久久不卡网国产精品二区| 国产成人av一区二区| 18欧美亚洲精品| 欧美在线一区二区| 免费成人在线视频观看| 久久蜜桃香蕉精品一区二区三区| 国产欧美一区二区精品性色超碰| 成人精品高清在线| 亚洲美女一区二区三区| 欧美日韩高清一区二区三区| 看片网站欧美日韩| 国产精品网曝门| 欧美色中文字幕| 久久激情综合网| 中文字幕av一区 二区| 在线免费不卡视频| 蓝色福利精品导航| 中文字幕字幕中文在线中不卡视频| 欧美日韩精品一区视频| 狠狠色综合日日| 亚洲欧美另类久久久精品| 777久久久精品| 丁香激情综合国产| 午夜视频一区在线观看| 久久精品亚洲精品国产欧美kt∨| 99精品一区二区| 免费在线观看日韩欧美| 国产精品天天摸av网| 欧美日韩色综合| 国产成人精品在线看| 亚洲国产精品天堂| 久久久国产精品不卡| 亚洲综合在线五月| 精品久久久三级丝袜| 一本色道a无线码一区v| 久久国产成人午夜av影院| 亚洲欧洲综合另类在线| 欧美mv日韩mv亚洲| 色88888久久久久久影院野外| 久久精品国产亚洲高清剧情介绍 | 免费精品视频在线| 国产精品的网站| 日韩一区二区精品葵司在线| av网站免费线看精品| 琪琪久久久久日韩精品| 综合精品久久久| 精品日韩一区二区三区免费视频| 一本大道av伊人久久综合| 精彩视频一区二区| 亚洲成人午夜电影| 国产精品久久777777| 欧美一卡二卡三卡| 色天天综合久久久久综合片| 国产露脸91国语对白| 午夜影院在线观看欧美| 成人欧美一区二区三区视频网页| 青青草91视频| 一区二区三区精品久久久| www日韩大片| 欧美片网站yy| 色综合久久天天| 国产69精品一区二区亚洲孕妇| 五月天精品一区二区三区| 亚洲人成网站精品片在线观看| 欧美精品一区二区久久久| 欧美日韩国产小视频| 99精品欧美一区二区三区综合在线| 国产在线播放一区三区四| 性做久久久久久久免费看| 亚洲精品国产精华液| 国产精品午夜免费| 精品久久久久久久一区二区蜜臀| 欧美人牲a欧美精品| 在线亚洲免费视频| 91丨国产丨九色丨pron| 成熟亚洲日本毛茸茸凸凹| 精品一区二区三区在线播放视频| 午夜伊人狠狠久久| 亚洲国产成人av| 一区二区在线观看视频在线观看| 国产精品久久毛片| 国产欧美一区二区精品性色超碰 | 蜜桃视频一区二区三区在线观看| 一区二区三区在线播放| 日韩毛片在线免费观看| 国产精品网站在线观看| 国产欧美一二三区| 国产三级精品三级| 久久久噜噜噜久久中文字幕色伊伊 | 国产乱妇无码大片在线观看| 麻豆精品一区二区av白丝在线| 亚洲成av人影院| 亚洲sss视频在线视频| 亚洲制服丝袜在线| 亚洲激情综合网| 一区二区三区成人在线视频| 一区二区三区小说| 一区二区国产视频| 亚洲一区二区五区| 亚洲18色成人| 日本伊人精品一区二区三区观看方式| 亚洲不卡一区二区三区| 图片区日韩欧美亚洲| 日韩精彩视频在线观看| 美洲天堂一区二卡三卡四卡视频| 日韩电影在线一区| 青青青爽久久午夜综合久久午夜| 日本va欧美va精品| 看片网站欧美日韩| 国产精品一级黄| 欧美激情一二三区| 亚洲日本va午夜在线影院| 亚洲精品国产成人久久av盗摄| 一区二区三区高清在线| 亚洲不卡av一区二区三区| 日本va欧美va瓶| 国产精品正在播放| www.在线成人| 欧美系列日韩一区| 7799精品视频| 精品国产一区二区亚洲人成毛片 | 亚洲午夜电影在线观看| 天天操天天综合网| 久久se这里有精品| 国产精品18久久久久久久久| 成人丝袜18视频在线观看| 一本色道久久综合亚洲91| 欧美日韩国产一二三| 精品精品欲导航| 国产精品美女久久久久久久久 | 丝袜脚交一区二区| 九九热在线视频观看这里只有精品| 国产一区二区美女诱惑| 99精品国产热久久91蜜凸| 亚洲成人黄色小说| 久久精品国产网站| 99久久伊人网影院| 欧美另类一区二区三区| 精品国产乱码久久久久久图片| 国产精品女同一区二区三区| 亚洲精品视频在线观看免费| 日日摸夜夜添夜夜添亚洲女人| 狠狠色综合播放一区二区| 91色视频在线| 日韩三级精品电影久久久| 国产精品日韩精品欧美在线| 亚洲精品高清在线| 久久99久国产精品黄毛片色诱| 成人一区二区三区| 欧美日韩第一区日日骚| 久久精品网站免费观看| 亚洲综合在线免费观看| 国产一区二区视频在线| 色婷婷综合久久久中文一区二区 | 久久精品水蜜桃av综合天堂| 一区二区三区日韩欧美精品| 看国产成人h片视频| 91女人视频在线观看| 日韩久久免费av| 亚洲人成网站影音先锋播放| 久久成人久久鬼色| 色综合久久88色综合天天| ww久久中文字幕| 亚洲一区二区精品视频| 国产精品一区久久久久| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 欧美精品一区二区精品网| 亚洲自拍都市欧美小说| 国产激情一区二区三区|