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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? process.c

?? 用于GPRS遠程電力抄表系統中采集器端的程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*****--------------文件信息--------------------------------------------------------------------------------
**文   件   名: process.C
**最后修改日期: 2005-11-10
**描        述: 對串口接收的數據進行處理
**設計者      : jxf
*****************************************************************************************************/
#include "process.h"
#include "proccomm.h"
#include "recframe.h"
#include "ds1302.h"
#include "io.h"
#include "time.h"
#include "hash.h"
/*******************************************************************
                     哈希函數               
函數原型: uchar hash(uchar ,uchar ,uchar) 
功  能:       
  
*******************************************************************
uchar Hash(uchar *Data,uchar table_len)
{
	register uint hash = 0;
	uint x = 0, i=0;
	for(i = 0; i < 3; i++) 
	{
		hash = (hash << 2) + Data[i]+TH0+TL0;
		if((x = hash & 0xF000) != 0)
	 	{
			hash ^= (x >> 8);
			hash &= ~x;
		}
	}
	return ((hash & 0x7FFF) % table_len) ;
}
*/


/*******************************************************************
                     用戶通斷電操作函數               
函數原型: void User_contr()
功  能:       
  
********************************************************************/
void User_contr()
{
	switch(wr_switch)
	{
		case 1:
			TimeStart=1;
			delay_30ms=0;
			LightFlashStart=0;
			if(bport07)
			{
				if(bwary00)
				{
					P0=0;
			   		P2=0;
					P1_2=0;
				}
				else
				{
					P0=0xff;
			    	P2=0xff;
					P1_2=1;
				}
				P0_0=bwary00;
				P1_2=~bwary00;
				wr_switch++;
		
			}
			else wr_switch++;
			break;

		case 2:
			if(bport06)
			{
				if(delay_30ms>20)
				{ 
					delay_30ms=0;
					if(bwary01)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					
					P0_1=bwary01;
					P1_2=~bwary01;
					wr_switch++;
				}
			}
			else wr_switch++; 
			break;

		case 3:
			if(bport05)
			{
				if(delay_30ms>20)
				{	
					delay_30ms=0;
					if(bwary02)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			   		 	P2=0xff;
						P1_2=1;
					}
					
					P0_2=bwary02;
					P1_2=~bwary02;
					wr_switch++;
				}
			}
			else wr_switch++;
			break;
		case 4:
			if(bport04)
			{
				if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary03)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P0_3=bwary03;
					P1_2=~bwary03;
					wr_switch++;
				}
			}
			else wr_switch++;
			break;
		case 5:
			if(bport03)
			{
				if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary04)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P0_4=bwary04;
					P1_2=~bwary04;
					wr_switch++;
				}
			}
			else wr_switch++;
			break;
		case 6:
			if(bport02)
			{
				if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary05)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P0_5=bwary05;
					P1_2=~bwary05;
					wr_switch++;
				}
			}
			else wr_switch++;
			break;
		case 7:
			if(bport01)
			{
				if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary06)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P0_6=bwary06;
					P1_2=~bwary06;
					wr_switch++;
				}
			}
			else wr_switch++;
			break;
		case 8:
			if(bport00)
			{
				if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary07)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P0_7=bwary07;
					P1_2=~bwary07;
					wr_switch++;
				}
			}
			else wr_switch++;
			break;

		case 9:
			if(bport17)
			{
				if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary10)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P2_0=bwary10;
					P1_2=~bwary10;
					wr_switch++;
				}
			}
			else wr_switch++;
			break;
		case 10:
			if(bport16)
			{
				if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary11)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P2_1=bwary11;
					P1_2=~bwary11;
					wr_switch++;
				}
			}
			else wr_switch++;
			break;
		case 11:
			if(bport15)
			{
				if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary12)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P2_2=bwary12;
					P1_2=~bwary12;
					wr_switch++;
				}
			}
			else wr_switch++;
			break;
		case 12:
			if(bport14)
			{
				if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary13)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P2_3=bwary13;
					P1_2=~bwary13;
					wr_switch++;
				}
			}
			else wr_switch++;
			break;
		case 13:
			if(bport13)
			{
				if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary14)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P2_4=bwary14;
					P1_2=~bwary14;
					wr_switch++;
				}
			}
			else wr_switch++;
			break;
		case 14:
			if(bport12)
			{
	   			if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary15)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P2_5=bwary15;
					P1_2=~bwary15;
					wr_switch++;
				}
			}
			else wr_switch++;
			break;
		case 15:
			if(bport11)
			{
				if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary16)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P2_6=bwary16;
					P1_2=~bwary16;
					wr_switch++;	
				}
			}
			else wr_switch++;
			break;
		case 16:
			if(bport10)
			{
				if(delay_30ms>20)
				{
					delay_30ms=0;
					if(bwary17)
					{
						P0=0;
			   			P2=0;
						P1_2=0;
					}
					else
					{
						P0=0xff;
			    		P2=0xff;
						P1_2=1;
					}
					P2_7=bwary17;
					P1_2=~bwary17;
			    	wr_switch++;
				}
			}
			else 	wr_switch++;
					
			break;

		case 17:
			if(delay_30ms>20)
			{
				delay_30ms=0;
				P2=0;
				P0=0;
				P1_2=0;
		    	wr_switch=0;
				TimeStart=0;
				LightFlashStart=1;

			}

		}
}

/*******************************************************************
                     用戶通斷電顯示函數               
函數原型: void UserLight_Flash()
功  能:       
  
********************************************************************/

void UserLight_Flash()
{
	static uchar  maskdisp=1; 
	static uchar  state=0;

	switch(state)
	{
		case 0:
 
			if((delay_25ms>=28)&&(delay_25ms<=32))
			{
 	 			if(maskdisp==0x00)
				{
		    		P0=0;
					state=1;
					maskdisp=1;
				    break;	
				}

		  		delay_25ms=33;
				if (bwary[0]&maskdisp)  P0 =maskdisp;
				else P0=0;
		  		    
		   		maskdisp <<=1;

		  	}
           else	 if(delay_25ms>=100)  	P0=0;	  ////////zjs added on 20060711
		        
							
		   	break;



		case  1:
			if((delay_25ms>=28)&&(delay_25ms<=32))
			{
  				if(maskdisp==0x00)
				{
			    	P2=0;
					state=0;
					maskdisp=1;
			  		break;	
				}

		   		delay_25ms=33;
				if (bwary[1]&maskdisp)  P2 =maskdisp;
				else P2=0;
		  		    
		 	  	maskdisp <<=1;
		   	
		  	}
			else  if(delay_25ms>=100) 	P2=0;	  ////////zjs added on 20060711

		    break;
		}	
}
/*******************************************************************
                     寫端口函數               
函數原型: void Wr_port()
功  能:       
  
********************************************************************/

void Wr_port()
{ 
	static uchar wport_flag=0;
	uchar wport_end;

	switch(wport_flag)
    {
		case 0: 
			W_block(WPAGE0,i2c_addr_io,bwary,2);
		    wport_end=1;
		    W_block(WPAGE0,i2c_addr_portflag,&wport_end,1);  
		    wport_flag=1;
		    break;
         case 1: 
            W_block(WPAGE1,i2c_addr_io,bwary,2);
		    wport_end=0;
		    W_block(WPAGE0,i2c_addr_portflag,&wport_end,1); 
		    wport_flag=0; 
		    break;
	}

	SenBuf[5]=(RecBuf[5]|0x80);
    cs+=SenBuf[5];
    SenBuf[6]=0;
    SenBuf[SenBuf[6]+7]=cs;
	SenBuf[SenBuf[6]+8]=FRAME_END_CHAR;
	Senlen=SenBuf[6]+9;
}

/*******************************************************************
                     讀端口函數               
函數原型: void  Rd_port(void)
功  能:       
  
********************************************************************/

void  Rd_port(void)
{
    register uchar k;

  	brary00=bwary07;
	brary01=bwary06;
	brary02=bwary05;
	brary03=bwary04;
	brary04=bwary03;
	brary05=bwary02;
	brary06=bwary01;
	brary07=bwary00;
	brary10=bwary17;
	brary11=bwary16;
	brary12=bwary15;
	brary13=bwary14;
	brary14=bwary13;
	brary15=bwary12;
	brary16=bwary11;
	brary17=bwary10;

    SenBuf[7]=brary[0];
	SenBuf[8]=brary[1];
    SenBuf[5]=(RecBuf[5]|0x80);
    cs+=SenBuf[5];
    SenBuf[6]=2;
    cs+=SenBuf[6];
      
    for(k=0;k<2;k++)
		cs+=SenBuf[k+7];
       
    SenBuf[SenBuf[6]+7]=cs;
    SenBuf[SenBuf[6]+8]=FRAME_END_CHAR;
    Senlen=SenBuf[6]+9;
}

/*******************************************************************
                     讀累加數據函數               
函數原型: void Radd_data()
功  能:       
  
********************************************************************/
void Radd_data(void)
{
	register uchar i,j;
   
    SenBuf[5]=(RecBuf[5]|0x80);
    cs+=SenBuf[5];

	SenBuf[6]=RecBuf[7]*6;
	for(i=0;i<RecBuf[7];i++)
 		for(j=0;j<6;j++)
 			SenBuf[j+7+i*6]=sum[i][j];

    for(i=0;i<SenBuf[6];i++)
		cs+=SenBuf[7+i];               
	cs+=SenBuf[6];
	SenBuf[7+SenBuf[6]]=cs;
	SenBuf[8+SenBuf[6]]=FRAME_END_CHAR;
	Senlen=SenBuf[6]+9;
       
}

/*******************************************************************
                     輪詢一周結束函數               
函數原型: void Cyc_end()
功  能:       
  
********************************************************************/
void Cyc_end()
{
	
	if(CycleFlag)
	{
		CycleFlag=0;
		CheckInFlag=0;	
	}
	else
		CheckInFlag=1; //注冊標志

	FreezeClass=RecBuf[7];


			
}

/*******************************************************************
                     設置時段凍結函數               
函數原型: void S_time(void)
功  能:       
  
********************************************************************/
void S_time(void)
{
	uchar freezetime_end=0;
	static freezetime_flag;
// 	for(i=0;i<16;i++)
//		for(j=0;j<6;j++)
// 			FreezeData[j+i*6]=freezesum[i][j];

	switch(freezetime_flag)
	{
		case 0: 
			W_block(WPAGE0,i2c_time_freeze,&freezesum[0][0],96);
			freezetime_end=1; 
			W_block(WPAGE0,i2c_time_flag,&freezetime_end,1);
			freezetime_flag=1;
			break;
		case 1: 
			W_block(WPAGE1,i2c_time_freeze,&freezesum[0][0],96);
			freezetime_end=0;
			W_block(WPAGE0,i2c_time_flag,&freezetime_end,1);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区三区在线观看精品 | 97成人超碰视| 久久久亚洲午夜电影| 黄色小说综合网站| 国产天堂亚洲国产碰碰| 成人免费看片app下载| 国产精品五月天| 一本久久a久久免费精品不卡| 中文字幕中文在线不卡住| 成人av网站在线观看| 亚洲婷婷国产精品电影人久久| 一本到不卡精品视频在线观看| 亚洲一卡二卡三卡四卡| 51精品久久久久久久蜜臀| 麻豆91精品91久久久的内涵| 久久一留热品黄| 99久久精品国产网站| 亚洲一区二区三区四区不卡| 欧美一区二区三区四区高清| 国产一区二区伦理| 亚洲三级小视频| 7777精品久久久大香线蕉| 极品少妇xxxx精品少妇偷拍| 国产精品久久久久久久久果冻传媒 | 精品久久久久久最新网址| 国产乱码字幕精品高清av| 亚洲免费观看在线视频| 欧美一区三区二区| 成人免费av网站| 肉色丝袜一区二区| 中文字幕av资源一区| 欧美日韩三级一区| 国产美女精品一区二区三区| 亚洲综合在线观看视频| 欧美精品一区二| 欧美中文字幕不卡| 国产精品一区二区免费不卡| 一区二区免费看| 2021国产精品久久精品| 在线观看一区二区视频| 国产九色精品成人porny| 亚洲综合一区在线| 日本一区二区免费在线| 911精品产国品一二三产区| 国产98色在线|日韩| 日韩精彩视频在线观看| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 久久精品亚洲乱码伦伦中文| 欧美日韩一区久久| 91在线高清观看| 激情综合色综合久久| 夜夜嗨av一区二区三区中文字幕| 国产日韩一级二级三级| 日韩欧美美女一区二区三区| 欧美日免费三级在线| 成人a级免费电影| 精品一区二区三区在线视频| 亚洲国产欧美日韩另类综合| 国产精品久久毛片| 精品88久久久久88久久久| 欧美日本国产视频| 在线观看不卡视频| 91网站视频在线观看| 成人亚洲一区二区一| 国产精品自拍一区| 狠狠色狠狠色综合| 久久国产精品免费| 日日夜夜精品视频天天综合网| 综合久久给合久久狠狠狠97色 | 不卡视频在线看| 国产精品一区二区你懂的| 日韩av中文字幕一区二区三区| 国产精品蜜臀av| 久久精品人人做| 久久尤物电影视频在线观看| 日韩精品自拍偷拍| 欧美va在线播放| 精品国产免费一区二区三区四区| 欧美日韩国产片| 欧美日韩精品欧美日韩精品| 欧美日韩一区中文字幕| 欧美日韩一区二区三区不卡| 欧美中文字幕不卡| 欧美人动与zoxxxx乱| 欧美一区二区视频网站| 欧美一区二区精品在线| 精品日韩欧美一区二区| 久久久天堂av| 国产精品久久久久影院| 亚洲图片另类小说| 亚洲一区在线播放| 亚洲一区二区3| 亚洲成av人片在线观看无码| 水蜜桃久久夜色精品一区的特点| 日本欧美一区二区三区乱码 | 亚洲制服丝袜在线| 一区二区三区电影在线播| 视频一区免费在线观看| 另类小说综合欧美亚洲| 国产精品一区二区久久不卡 | 捆绑紧缚一区二区三区视频| 美脚の诱脚舐め脚责91| 精品系列免费在线观看| 国产另类ts人妖一区二区| 99视频热这里只有精品免费| 在线亚洲一区二区| 欧美一区二区三区在线观看 | 国产在线国偷精品产拍免费yy | 国产在线麻豆精品观看| 成人妖精视频yjsp地址| 91成人免费在线| 精品国产免费人成在线观看| 亚洲三级电影全部在线观看高清| 亚洲成a人片在线观看中文| 久久精品国产一区二区三区免费看 | 成人sese在线| 欧美视频一区二区三区四区 | 亚洲欧美色图小说| 天天色综合成人网| 国产91精品一区二区麻豆网站| 91精彩视频在线| 精品日韩一区二区| 亚洲精品ww久久久久久p站| 蜜臀99久久精品久久久久久软件| 成人午夜大片免费观看| 欧美色图片你懂的| 日韩免费一区二区三区在线播放| 亚洲国产精品激情在线观看| 天堂一区二区在线| 中文一区在线播放| 日韩精品三区四区| 成人黄色av网站在线| 日韩午夜精品视频| 亚洲女人的天堂| 国产一区二区三区在线观看免费| 欧美色图片你懂的| 亚洲欧洲韩国日本视频| 奇米888四色在线精品| 色婷婷综合久久久久中文一区二区| 欧美疯狂做受xxxx富婆| 成人欧美一区二区三区视频网页| 国内精品自线一区二区三区视频| 欧美日韩一级大片网址| 国产精品久久久久久久浪潮网站| 精品在线你懂的| 欧美区视频在线观看| 亚洲人吸女人奶水| 国产精品白丝jk白祙喷水网站| 欧美一区二区啪啪| 亚洲综合偷拍欧美一区色| 99久久99久久综合| 国产欧美精品一区二区色综合| 久久99在线观看| 日韩欧美一区在线观看| 亚洲国产wwwccc36天堂| 91在线精品一区二区三区| 国产午夜精品福利| 九色综合狠狠综合久久| 欧美一个色资源| 日韩和欧美的一区| 欧美日韩在线观看一区二区 | 日本v片在线高清不卡在线观看| 色婷婷综合在线| 1024成人网色www| 风间由美中文字幕在线看视频国产欧美 | 日本不卡视频在线观看| 欧美三片在线视频观看| 亚洲一区二区精品久久av| 91久久人澡人人添人人爽欧美| 亚洲同性同志一二三专区| 91亚洲资源网| 一区二区在线电影| 欧美亚洲另类激情小说| 一区二区三区精品视频| 91黄视频在线| 亚洲综合久久av| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 91美女在线看| 亚洲精品成人精品456| 色欧美片视频在线观看 | 国产精品美女久久久久久久网站| 国产成人精品一区二区三区四区 | 久久精品夜色噜噜亚洲aⅴ| 国产乱码精品一区二区三区av | 婷婷综合在线观看| 日本视频免费一区| 日韩免费一区二区三区在线播放| 精品一区二区三区视频| 国产校园另类小说区| 成人a区在线观看| 亚洲一区二区三区国产| 5566中文字幕一区二区电影| 美女在线观看视频一区二区| 久久嫩草精品久久久久| 成人av免费在线播放| 亚洲精品国产成人久久av盗摄 | 欧美中文字幕一区二区三区亚洲 | 亚洲一线二线三线久久久| 欧美色图免费看| 国内偷窥港台综合视频在线播放|