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

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

?? ledtest.c

?? 1總線通信協(xié)議應(yīng)用實(shí)例
?? C
?? 第 1 頁 / 共 2 頁
字號(hào):
                           docrc16(0x07);
                           docrc16(0x00);
						   docrc16(0x0e);
                             // read and calculate the read crc
                           docrc16(temp1);
                           lastcrc16 = docrc16(temp2);
                           // crc should now be 0xB001
                           if (lastcrc16 != 0xB001)
                               {
							    ow_reset();
				                tx_str("make PIOA high crc error!");
					           }
                         else{
	                          tx_str("make PIOA high crc correct!");
			                 }
                            tx_lfbs(); 
							 
                             /*  ow_reset();                
					       write_byte(0xCC);   //LSB address
	                       write_byte(0x55);   //MSB address
					       write_byte(0x07);   //LSB address
	                       write_byte(0x00);   //MSB address
                           write_byte(0x6d);  //
                           temp1=read_byte();
						   temp2=read_byte();
						  // crcbit=read_bit();
						   setcrc16(0x0000);     //
                           docrc16(0x55);
                           docrc16(0x07);
                           docrc16(0x00);
						   docrc16(0x6d);
                             // read and calculate the read crc
                           docrc16(temp1);
                           lastcrc16 = docrc16(temp2);
                           // crc should now be 0xB001
                           if (lastcrc16 != 0xB001)
                               {
							    ow_reset();
				                tx_str("make PIOA low crc error!");
					           }
                         else{
	                          tx_str("make PIOA low crc correct!");
			                 }
                            tx_lfbs(); 
							 delay(10000);
							 ow_reset();                
					       write_byte(0xCC);   //LSB address
	                       write_byte(0xaa);   //MSB address
					       write_byte(0x07);   //LSB address
	                       write_byte(0x00);   //MSB address
                           test=read_byte();  //LSB address
                           temp1=read_byte();
						   temp2=read_byte();
						  // crcbit=read_bit();
						   setcrc16(0x0000);     //
                           docrc16(0xaa);
                           docrc16(0x07);
                           docrc16(0x00);
						   docrc16(test);
                             // read and calculate the read crc
                           docrc16(temp1);
                           lastcrc16 = docrc16(temp2);
                           // crc should now be 0xB001
                           if (lastcrc16 != 0xB001)
                               {
							    ow_reset();
				                tx_str("read status crc error!");
					           }
                         else{
	                          tx_str("read status crc correct!");
			                 }
                            tx_lfbs(); 
               			     if (test==0xff)
							       {
								     tx_str("read_byte=0xff!");
									 tx_lfbs();
									}
							   else if(test<=48) {	
	         				         tx_str("read_byte=");
									 tx_char((test+48));
									  tx_lfbs();
									}
									else {  tx_str("read_byte=");
									 tx_char((test));
									  tx_lfbs();
									}*/
						/* break;
		   case '8':
                           ow_reset();                
					       write_byte(0xCC);   //skip command
	                       write_byte(0x55);   //write status command
					       write_byte(0x07);   //LSB address
	                       write_byte(0x00);   //MSB address
                           write_byte(0x6d);  //data
                           temp1=read_byte();
						   temp2=read_byte();
						  // crcbit=read_bit();
						   setcrc16(0x0000);     //
                           docrc16(0x55);
                           docrc16(0x07);
                           docrc16(0x00);
						   docrc16(0x6d);
                             // read and calculate the read crc
                           docrc16(temp1);
                           lastcrc16 = docrc16(temp2);
                           // crc should now be 0xB001
                           if (lastcrc16 != 0xB001)
                               {
							    ow_reset();
				                tx_str("make PIOA low(Channel FF = 1 transistor off) crc error!");
					           }
                         else{
	                          tx_str("make PIOA low(Channel FF = 1 transistor off) crc correct!");
			                 }
                            tx_lfbs(); 
						//	 delay(10000);
						 break;
          default:   
		            tx_str("default break!");
					break;
		 }
		 }*/
   while(1);
  }

 /*unsigned char rx_char(void)
    {
	   while(!RI)
	      {;}
	   RI=0;
	   return SBUF;
	 }*/

void tx_str(unsigned char *str)
    {int i;
      for (i=0;i<strlen(str);i++)
	        {
			  tx_char(str[i]);
	        }
	}
void tx_char(unsigned char c)
   {
    while(!TI)
	  {
	   ;
	   }
	   TI=0;
	   SBUF=c;
	 }

void tx_lfbs(void)
    {int y;
		 tx_char(0x0A);
	 	for (y=0;y<70;y++)
			 {
              tx_char(0x08);
			}
	 }
void Led_blink(void)
  {
  int i;
      for(i=0;i<10;i++)
          {
           P15=1;
	       delay(200);
	       P15=0;
	       delay(200);
	      }
	}

void Init_Rs232(void)
   {IE=0X00;
    SCON=0x50;
    TMOD=0x20;
	TH1=0xfd;
	TL1=0xfd;
	TR1=1;
	TI=1;
   }

 void delay(int delay)
  {int i,j;
   for (i=0;i<delay;i++)
      for (j=0;j<255;j++);
   }


// WRITE_BIT - writes a bit to the one-wire bus, passed in bitval.
//
void write_bit(char bitval)
{
  if (bitval==0)
      {
	   writedatalow();
	   }
  else{
       writedatahigh();
	   }
}// Delay provides 16us per loop, plus 24us. Therefore delay(5) = 104us
// WRITE_BYTE - writes a byte to the one-wire bus.
//
/*void writedatalow(void)
  {
  }

void writedatahigh(void)
  {int count=6000;

   owData=0;
   owRst=0;
   wdelay(1);
   owData=1;
   owRst=1;
   owEn=1;
   owBsy=1;
   wdelay(1);
   owEn=0;
   while(count!=0)
       {
	     if(
   }*/

void write_byte(char val)
{
unsigned char i;
unsigned char temp;
for (i=0; i<8; i++) // writes byte, one bit at a time
{
temp = val>>i; // shifts val right 'i' spaces
temp &= 0x01; // copy that bit to temp
write_bit(temp); // write bit in temp into
}
wdelay(5);
}

unsigned char read_bit(void)
   {uchar owireda;
    owireda=readowdatabit();
/*	if (owireda ==0xff)
	       {
			   tx_str("read one bit program error!");
			 }
	if (owireda ==0x00)
	     {
		    tx_str("read one bit==0x00!");
			 }
    if (owireda ==0x01)
	     {
		    tx_str("read one bit==0x01!");
			 }
if ((owireda !=0x01)&&(owireda !=0x00)&&(owireda !=0xff))
         {
		    tx_str("read one bit program error !=0x01,0x00,0xff!");
			}*/
	return(owireda);
	}


void wdelay(int us)
   {
     int s;
	 for (s=0;s<us;s++);
	 }
//////////////////////////////////////////////////////////////////////////////
// OW_RESET - performs a reset on the one-wire bus and
// returns the presence detect. Reset is 480us, so delay
// value is (480-24)/16 = 28.5 - we use 29. Presence checked
// another 70us later, so delay is (70-24)/16 = 2.875 - we use 3.
//
/*unsigned char ow_reset(void)
{
unsigned char presence;
owData = 0; //pull DQ line low
wdelay(29); // leave it low for 480us
owData = 1; // allow line to return high
wdelay(3); // wait for presence
presence = owData; // get presence signal
wdelay(25); // wait for end of timeslot
return(presence); // presence signal returned
} // 0=presence, 1 = no part*/

//////////////////////////////////////////////////////////////////////////////
// READ_BYTE - reads a byte from the one-wire bus.
//
unsigned char read_byte(void)
{
unsigned char i;
unsigned char value = 0;
for (i=0;i<8;i++)
{
if(read_bit()) value|=0x01<<i; // reads byte in, one byte at a time and then
// shifts it left
wdelay(6); // wait for rest of timeslot
}
return(value);
}

unsigned char First(uchar conditional)
{int flag; 
 unsigned char g; // Output bit
 unsigned char x = 0; 
 unsigned char m = 1; // ROM Bit index
 unsigned char n = 0; // ROM Byte index
 unsigned char k = 1; // bit mask
 unsigned char discrepMarker = 0; // discrepancy marker
 unsigned char nxt; // return value

   LastDeviceFlag = FALSE;
   LastDiscrepancy = 0;
   
   nxt = FALSE; // set the next flag to false
   crc8=0;

   flag = ow_reset();

   if(flag||LastDeviceFlag) // no parts -> return false
      {
        LastDiscrepancy = 0; // reset the search
         return FALSE;
      }
  if (conditional)
          { write_byte(0xec);
		  }
  else{
      write_byte(0xF0);
      }
	  do
      // for all eight bytes
        {
         x = 0;
		/* if(read_bit==0xff)
		     {
			   tx_str("read one bit program error!");
			 }*/
         if(read_bit()==1)
		    {
		     x = 2;
            // tx_str(" first bit=1!");
            //  tx_lfbs();
	        }
         wdelay(6);
         if(read_bit()==1) 
		      {x |= 1; // and its complement
               // tx_str(" next bit=1!");
                 //tx_lfbs();
			   }
           if(x ==3) // there are no devices on the 1-wire
		        {
				  tx_str(" not find slave device!");
				   tx_lfbs();
                   break;
				}
           else
             {
               if(x>0) // all devices coupled have 0 or 1
                     g = x>>1; // bit write value for search
               else
                 {
// if this discrepancy is before the last
// discrepancy on a previous Next then pick
// the same as last time
                   if(m<LastDiscrepancy)
				           {
                            g = ((ROM_NO[n]&k)>0);
						   }
                   else // if equal to last pick 1
				       {
                            g = (m==LastDiscrepancy); // if not then pick 0
					   }
// if 0 was picked then record
// position with mask k
                   if (g==0) discrepMarker = m;
                 }
                 if(g==1) // isolate bit in ROM[n] with mask k
                      ROM_NO[n] |= k;
                else
                      ROM_NO[n] &= ~k;
                 write_bit(g); // ROM search write
                 m++; // increment bit counter m
                 k = k<<1; // and shift the bit mask k
                 if(k==0) // if the mask is 0 then go to new ROM
                      { // byte n and reset mask
                        crc8=docrc8(ROM_NO[n],crc8); // accumulate the CRC
                        n++; k++;
                      }
                }
         }while(n<8); //loop until through all ROM bytes 0-7
if(m<65||crc8) // if search was unsuccessful then
LastDiscrepancy=0; // reset the last discrepancy to 0
else
    {
// search was successful, so set lastDiscrep,
// lastOne, nxt
     LastDiscrepancy = discrepMarker;
     LastDeviceFlag = (LastDiscrepancy==0);
     nxt = TRUE; // indicates search is not complete yet, more
     tx_str("Find Device!");
	  tx_lfbs();
      // parts remain
}
return nxt;
}
// Perform Match ROM
//
unsigned char Send_MatchRom(void)
{
unsigned char i;
if(ow_reset()) 
  {
   tx_str("owire reset failure!");
   return FALSE;
   }
write_byte(0x55); // match ROM command
for(i=0;i<8;i++)
{
 write_byte(ROM_NO[i]); //send ROM code
}
return TRUE;
}

//--------------------------------------------------------------------------
// Reset crc16 to the value passed in
//
// 'reset' - data to set crc16 to.
//
void setcrc16(ushort reset)
{
   utilcrc16 = reset;
   return;
}
//--------------------------------------------------------------------------
// Calculate a new CRC16 from the input data short.  Return the current
// CRC16 and also update the global variable CRC16.
//
// 'portnum'  - number 0 to MAX_PORTNUM-1.  This number is provided to
//              indicate the symbolic port number.
// 'data'     - data to perform a CRC16 on
//
// Returns: the current CRC16
//
ushort docrc16(ushort cdata)
{
   cdata = (cdata ^ (utilcrc16 & 0xff)) & 0xff;
   utilcrc16 >>= 8;

   if (oddparity[cdata & 0xf] ^ oddparity[cdata >> 4])
     utilcrc16 ^= 0xc001;

   cdata <<= 6;
   utilcrc16  ^= cdata;
   cdata <<= 1;
   utilcrc16   ^= cdata;

   return utilcrc16;
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线播放日韩导航| 亚洲欧美欧美一区二区三区| 日韩欧美一级在线播放| 2欧美一区二区三区在线观看视频| 欧美日韩国产成人在线91| 欧美日韩黄色影视| 日韩欧美成人午夜| 自拍偷自拍亚洲精品播放| 一区二区成人在线视频| 久久99精品久久只有精品| 高清日韩电视剧大全免费| 欧美性淫爽ww久久久久无| 欧美mv日韩mv国产网站| 国产精品私人自拍| 欧美bbbbb| 538在线一区二区精品国产| 亚洲国产精品t66y| 亚洲精品国产精品乱码不99| 久久精品二区亚洲w码| 91国偷自产一区二区开放时间| 精品国产91洋老外米糕| 亚洲一区二区美女| 色婷婷精品大视频在线蜜桃视频| 久久蜜臀中文字幕| 久久99精品一区二区三区三区| 日韩一级成人av| 捆绑调教一区二区三区| 欧美一级日韩免费不卡| 天堂精品中文字幕在线| 欧美日本在线视频| 日韩电影在线一区二区| 日韩一区二区在线观看视频播放| 日韩精品成人一区二区在线| 欧美一级黄色录像| 日韩一级成人av| 国产精品综合二区| 欧美国产精品一区二区三区| 成人福利视频网站| 亚洲小说欧美激情另类| 日韩午夜电影在线观看| 欧美优质美女网站| 久久综合色之久久综合| 97国产精品videossex| 亚洲一区二区影院| 欧美mv和日韩mv国产网站| 白白色 亚洲乱淫| 欧美精选午夜久久久乱码6080| 中文字幕免费不卡| 亚洲风情在线资源站| 日韩欧美一级在线播放| 在线观看日韩毛片| 国产suv精品一区二区三区| 一区二区三区免费网站| 国产日产欧美一区| 欧美一区二区免费视频| 一本色道**综合亚洲精品蜜桃冫| 亚洲国产精品一区二区尤物区| 精品成人私密视频| 欧美一区二区三区婷婷月色| www.欧美.com| 激情五月婷婷综合网| 蜜臀91精品一区二区三区| 亚洲精品伦理在线| 一区二区三区视频在线观看| 精品国产乱码久久久久久1区2区 | 亚洲国产视频a| 亚洲激情自拍偷拍| 中文字幕欧美一| 中文字幕视频一区| 中文字幕欧美日韩一区| 亚洲欧洲日韩一区二区三区| 中文在线资源观看网站视频免费不卡| 日韩欧美在线一区二区三区| 欧美日韩在线播放三区| 91精品国产综合久久婷婷香蕉| 欧美亚洲免费在线一区| 欧美乱妇20p| 欧美mv日韩mv| 国产精品久久三区| 亚洲综合成人在线视频| 久久精品国产第一区二区三区| 国产一区二区网址| av一本久道久久综合久久鬼色| 色偷偷久久一区二区三区| 国产日韩欧美高清| 亚洲欧洲精品一区二区三区不卡 | 国产成人在线影院| 欧美一区二区私人影院日本| 国产精品妹子av| 蜜桃视频在线观看一区二区| 丁香另类激情小说| 日韩美女视频一区二区在线观看| 国产精品国产自产拍在线| 九九在线精品视频| 欧美日韩精品一区二区三区 | 欧美二区三区91| 亚洲欧美另类小说视频| 国产精品一区二区果冻传媒| 欧美另类一区二区三区| 中文字幕日韩av资源站| 粉嫩高潮美女一区二区三区 | 久久超碰97中文字幕| 欧美疯狂做受xxxx富婆| 亚洲视频香蕉人妖| 91免费看片在线观看| 国产视频一区二区在线| 国产一区二区三区久久久| 精品国产a毛片| www.色综合.com| 日韩午夜在线观看视频| 韩国成人福利片在线播放| 精品91自产拍在线观看一区| 国产在线视视频有精品| 亚洲精品国产高清久久伦理二区| 91美女视频网站| 日本不卡视频在线| 亚洲国产成人私人影院tom| 在线亚洲高清视频| 激情五月播播久久久精品| 国产午夜精品久久久久久免费视 | 成人18视频在线播放| 伊人性伊人情综合网| 日韩欧美高清一区| 99精品国产99久久久久久白柏| 亚洲少妇30p| 国产日韩欧美精品综合| 在线视频一区二区三区| 懂色av一区二区夜夜嗨| 亚洲一二三区不卡| 中文字幕日本不卡| 久久久91精品国产一区二区三区| 91美女视频网站| 国产成人自拍在线| 麻豆高清免费国产一区| 午夜欧美在线一二页| 亚洲欧美电影一区二区| 国产无一区二区| 久久嫩草精品久久久精品| 欧美一区二区不卡视频| 在线视频国产一区| 97久久超碰国产精品电影| 国产在线播放一区| 久久精品国产第一区二区三区| 蜜桃视频在线一区| 蜜桃在线一区二区三区| 免费人成网站在线观看欧美高清| 亚洲第一会所有码转帖| 亚洲一区二区成人在线观看| 亚洲一区二区成人在线观看| 亚洲国产精品影院| 国产在线日韩欧美| 成人在线视频一区二区| 成人午夜激情视频| 欧美性色欧美a在线播放| 欧美久久久久久久久中文字幕| 久久综合网色—综合色88| 日本一区二区电影| 亚洲.国产.中文慕字在线| 国产一区视频导航| 色999日韩国产欧美一区二区| 精品视频一区三区九区| 久久久99久久| 天天综合网天天综合色| 国产麻豆精品theporn| 在线免费精品视频| 国产亚洲1区2区3区| 日韩成人午夜电影| 99精品视频免费在线观看| 日韩精品中文字幕一区二区三区 | 国产精品久久久久一区二区三区 | 一本一道综合狠狠老| 欧美卡1卡2卡| 亚洲精品自拍动漫在线| 黄色资源网久久资源365| 国产日韩高清在线| 粉嫩av一区二区三区| 亚洲男人天堂av网| 精品国产在天天线2019| 国产suv精品一区二区三区| 欧美人xxxx| 国产高清久久久久| 亚洲国产精品久久久久婷婷884 | 亚洲精品国产a| 久久午夜羞羞影院免费观看| 在线一区二区三区做爰视频网站| 青青草原综合久久大伊人精品| 99久久精品国产毛片| 午夜在线电影亚洲一区| 国产欧美日韩亚州综合| 日韩欧美成人一区二区| 色女孩综合影院| 成人免费视频一区二区| 精品在线观看免费| 日本美女一区二区| 亚洲成人免费影院| 性做久久久久久免费观看| 亚洲欧美日韩国产综合| 一区二区三区在线视频免费| 亚洲欧洲日本在线| 婷婷久久综合九色综合绿巨人|