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

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

?? i2c.c

?? 簡單的在ATMEGA64上移植ucosII
?? C
字號:
#define _I2C_C_
#include <include.h>
// 發送STOP信號
void TwiStop(void)
{
	TWCR = ((1 << TWINT) | (1 << TWSTO) | (1 << TWEN));
}
//---------------------
void TwiStart(void)
{
	TWCR = ((1 << TWINT) | (1 << TWSTA) | (1 << TWEN));
	while((TWCR	& (1 <<	TWINT))	== 0)
	{
		;
	}
}
//-------------------------------
uint8 TwiWriteByte(uint8 addr, uint8 data)
{
	TwiStart();									// 發送開始信號
	if((TWSR & 0xf8) ==	0x08)					// 確認狀態
	{
		TWDR = addr;							// 發送地址
		//TWCR = (1 << TWINT)	| (1 << TWEN);		// 啟動發送
		TWCR = (1 << TWINT) | (1 << TWEN);
		while((TWCR	& (1 <<	TWINT))	== 0)		// 等待發送成功
		{	
			;
		}
		
		if((TWSR & 0xf8) ==	0x18)				// 確認狀態
		{
			TWDR = data;						// 發送數據
			//TWCR = (1 << TWINT)	| (1 << TWEN);	// 啟動發送
			TWCR = (1 << TWINT) | (1 << TWEN);
			while((TWCR	& (1 <<	TWINT))	== 0)	// 等待發送成功
			{	
				;
			}	  
		}
		else
		{
			return 0;	 
		} 
		
		if((TWSR & 0xf8) ==	0x28)				// 確認狀態
		{
			TwiStop();							// 發送停止信號
			return 1;	
		} 
		else
		{
			return 0;	 
		}	  
	} 
	return 0;
//	else
//	(
//		return 0;
//	)
}
//-------------------------------------------------------
uint8 TwiWriteStr(uint8	addr, uint8	*data, uint8 len)   // 地址指針自動加1
{
	uint8 i	= 0;
	if(len != 0)
	{
		TwiStart();									// 發送開始信號
		if((TWSR & 0xf8) ==	0x08)					// 確認狀態
		{
			TWDR = addr;							// 發送地址
			//TWCR = (1 << TWINT)	| (1 << TWEN);		// 啟動發送	
			TWCR = (1 << TWINT) | (1 << TWEN);
			while((TWCR	& (1 <<	TWINT))	== 0)		// 等待發送成功
			{	
				;
			}
			if((TWSR & 0xf8) ==	0x18)				// 確認狀態
			{
				TWDR = *data++;						// 發送數據
				//TWCR = (1 << TWINT)	| (1 << TWEN);	// 啟動發送	
				TWCR = (1 << TWINT) | (1 << TWEN);  
				while((TWCR	& (1 <<	TWINT))	== 0)	// 等待發送成功
				{	
					;
				}  
			}
			else
			{
				return 0;	 
			} 
			
			for(i =	len-1; i > 0; i--)
			{
				if((TWSR & 0xf8) ==	0x28)				// 確認狀態
				{
					TWDR = *data++;						// 繼續發送數據
					//TWCR = (1 << TWINT)	| (1 << TWEN);	
					TWCR = (1 << TWINT) | (1 << TWEN);
					while((TWCR	& (1 <<	TWINT))	== 0)
					{	
						;
					}	 
				}
				else
				{
					return 0;	 
				} 
			}		
		
			if((TWSR & 0xf8) ==	0x28)				// 確認狀態
			{
				TwiStop();							// 發送停止信號	
				return 1;	
			} 
			else
			{
				return 0;	 
			}	  
		} 
		//else
		//(
			return 0;
		//)
	}
	return 0;
}
//---------------------------------
uint8 TwiReadStr(uint8 addr, uint8 *data, uint8	len)    // 地址指針自動加1
{
	uint8 i	= 0;
	if(len != 0)
	{
		TwiStart();									// 發送開始信號
		if((TWSR & 0xf8) ==	0x08)					// 確認狀態
		{
			TWDR = addr;							// 發送地址
			TWCR = (1 << TWINT)	| (1 <<	TWEN);	   // 啟動發送 
			while((TWCR	& (1 <<	TWINT))	== 0)		// 等待發送成功
			{	
				;
			}
			if((TWSR & 0xf8) ==	0x40)				// 確認狀態
			{
				for(i =	len-1; i > 0; i--)
				{
					TWCR = (1 << TWINT)	| (1 <<	TWEA) |	(1 << TWEN); //	啟動發送 返回 ACK  
					while((TWCR	& (1 <<	TWINT))	== 0)	// 等待發送成功
					{	
						;
					}
					
					if((TWSR & 0xf8) ==	0x50)				// 確認狀態
					{
						*data++	= TWDR;						// 繼續接收數據	   
					}
					else
					{
						return 0;	 
					} 
				}  
			}
			else
			{
				return 0;	 
			} 
			//TWCR = (1 << TWINT)	| (1 << TWEN);		// 返回	NOT	ACK
			TWCR = (1 << TWINT) | (1 << TWEN);
			if((TWSR & 0xf8) ==	0x58)				// 確認狀態
			{
				TwiStop();							// 發送停止信號	
				return 1;	
			} 
			else
			{
				return 0;	 
			}	  
		} 
		//else
		//(
			return 0;
		//)
	} 
	return 0;
}
/*/----------------------------------
void RtcInit()
{
	TWBR=73;
}
//----------------------------------
uint8 RtcWrite(uint8 addr, uint8 *buf, uint8 len)
{
	uint8 DS1307_ADDR =	addr;
	uint8 *data	= buf;
	uint8 lenn = len;
	uint8 temp;
	temp = TwiWriteStr(DS1307_ADDR,	data, lenn);
	return temp;
}
//----------------------------------
uint8 RtcRead(uint8 addr,	uint8	*buf,uint8 len)
{
	uint8	i;
	RtcWrite(addr,0,0);
		delay_ms(10);
		TwiStART();
		TwiWriteByte(DS1307_ADDR|RTC_READ);
		  for(i=0;i<len-1;i++)
		   {
			TwiReadByte(buf+i,TWI_ACK);
		   }
		   TwiReadByte(buf+i,TWI_NACK);
		   TwiStop();
		   return 0;
}
//----------------------------------
uint8	RtcUpdate(uint8_t direction)
{
	uint8	i;
		   if(direction)
			i=RtcRead(0, TimeBuf,7);
		else
				i=RtcWrite(0, TimeBuf,7);
		return i;
  }
//----------------------------------
uint8	RtcReadRam(uint8_t addr, uint8_t *buf,uint8_t len)
{
	   addr+=8;
		   return RtcRead(addr,	buf,len);
}
//----------------------------------
uint8	RtcWriteRam(uint8_t	addr, uint8_t *buf,uint8_t len)
{
	   addr+=8;
		   return RtcWrite(addr, buf,len);
}
//-----------------------------------
uint8	BinToBcd(uint8_t bin)
{
   uint8 i;
	bin&=0x7f;
		bin%=100;
		i=bin/10;
		i<<=4;
		i|=bin%10;
		return i;
}
//-----------------------------------
uint8	BcdToBin(uint8_t bcd)
{
   uint8 i;
		i=bcd&0x0f;
		i+=(bcd>>4)*10;
		return i;
}
//---------------------------
void RtcBinToBcd()
{
	uint8	i;
	TimeBinBuf[0]&=0X7F;
		TimeBinBuf[1]&=0X7F;
		TimeBinBuf[2]&=0X3F;
		TimeBinBuf[3]&=0X07;
		TimeBinBuf[4]&=0X3F;
		TimeBinBuf[5]&=0X1F;
		TimeBinBuf[6]&=0XFF;
		  for(i=0;i<7;i++) TimeBuf[i]=BinToBcd(TimeBinBuf[i]);
}
//----------------------------
void RtcBcdToBin()
  {
	 uint8 i;
  
	for(i=0;i<7;i++) TimeBinBuf[i]=BcdToBin(TimeBuf[i]);
  }
//----??????
void ReadSysTime()
	 {
		  RtcUpdate(RTC_READ);
		  RtcBcdToBin();
		  SysTimeBuf[0]=TimeBinBuf[6];//?
		  SysTimeBuf[1]=TimeBinBuf[5];//?
		  SysTimeBuf[2]=TimeBinBuf[4];//?
		  SysTimeBuf[3]=TimeBinBuf[2];//?
		  SysTimeBuf[4]=TimeBinBuf[1];//?
		 }
*/

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品国产一区二区三区免费看| 日韩电影在线免费看| 51精品国自产在线| 成人午夜大片免费观看| 视频一区二区三区在线| 中文字幕一区二区三| 日韩免费视频一区| 色婷婷综合久久| 国产大陆亚洲精品国产| 日日骚欧美日韩| 亚洲日本va在线观看| 久久久久久一级片| 91精品国产aⅴ一区二区| 色综合中文字幕国产| 久久69国产一区二区蜜臀 | 麻豆国产精品官网| 亚洲国产精品一区二区www在线 | 国产精品进线69影院| 精品人伦一区二区色婷婷| 欧美丝袜自拍制服另类| 99久久精品国产一区二区三区| 精品一区二区三区免费视频| 午夜电影久久久| 亚洲一区影音先锋| 一区二区三区在线不卡| 中文字幕第一区| 久久久精品免费观看| 日韩一区二区精品在线观看| 欧美日韩国产精选| 欧美色倩网站大全免费| 91丨porny丨首页| 91视频一区二区| av在线不卡网| 成人精品国产免费网站| 国产suv精品一区二区883| 国产成人综合视频| 国产精品资源在线| 国产精品中文字幕欧美| 国产乱码精品一区二区三区av | 一二三区精品福利视频| 亚洲免费观看在线观看| 亚洲欧美视频在线观看视频| 综合久久综合久久| 亚洲人妖av一区二区| 亚洲欧美偷拍另类a∨色屁股| 亚洲欧美另类图片小说| 一区二区在线观看免费| 一区二区高清在线| 午夜av电影一区| 美女一区二区三区在线观看| 精品亚洲免费视频| 国产精品一区二区无线| 懂色av一区二区三区蜜臀| 成人看片黄a免费看在线| 色综合中文字幕| 欧美日韩国产在线观看| 欧美日本乱大交xxxxx| 日韩亚洲国产中文字幕欧美| 精品久久国产老人久久综合| 中文字幕 久热精品 视频在线| 国产精品女人毛片| 亚洲精品国产一区二区三区四区在线| 亚洲精选视频免费看| 午夜精品免费在线| 九色综合国产一区二区三区| 国产福利一区二区| 91丨九色丨蝌蚪富婆spa| 欧美日韩精品免费| 久久久久久久久久久久久夜| 国产精品视频观看| 亚洲午夜电影网| 国产精品一区免费在线观看| av一本久道久久综合久久鬼色| 色8久久人人97超碰香蕉987| 51精品视频一区二区三区| 久久精品亚洲国产奇米99| 亚洲欧美日韩成人高清在线一区| 五月婷婷综合网| 国产经典欧美精品| 在线视频观看一区| 欧美变态tickle挠乳网站| 国产三级欧美三级| 亚洲色大成网站www久久九九| 亚洲一区二区欧美日韩| 国产米奇在线777精品观看| 色综合久久久网| 日韩一区二区高清| 一区二区三区在线免费播放| 久久99精品久久久久久动态图| av中文字幕一区| 欧美一区二区三区日韩视频| 中文字幕av一区二区三区高| 日本网站在线观看一区二区三区 | 亚洲一区二区三区四区中文字幕| 久久久亚洲高清| 一区二区三区在线看| 久久av老司机精品网站导航| 91一区二区三区在线观看| 精品国产一区二区三区av性色 | 久久伊99综合婷婷久久伊| 亚洲综合免费观看高清完整版| 久久99精品国产麻豆婷婷 | 国产91精品露脸国语对白| 欧美群妇大交群中文字幕| 国产精品色哟哟| 久久精品国产秦先生| 欧美剧在线免费观看网站| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 图片区小说区区亚洲影院| av高清不卡在线| 久久亚洲精精品中文字幕早川悠里| 亚洲午夜久久久久| 色哟哟一区二区在线观看| 国产精品美女视频| 国产精品一二三| 日韩欧美国产三级电影视频| 香蕉久久夜色精品国产使用方法| 91麻豆免费视频| 中文字幕精品一区二区精品绿巨人| 韩国女主播成人在线观看| 日韩欧美二区三区| 免费成人av资源网| 7777精品伊人久久久大香线蕉完整版 | 6080国产精品一区二区| 一区二区三区四区蜜桃| av电影在线观看一区| 中文字幕二三区不卡| 成人网在线免费视频| 2欧美一区二区三区在线观看视频| 日韩黄色免费电影| 欧美高清一级片在线| 亚洲aⅴ怡春院| 欧美日韩国产在线播放网站| 性感美女久久精品| 3atv一区二区三区| 日韩国产欧美在线观看| 在线91免费看| 男女激情视频一区| 日韩三区在线观看| 蜜臀久久99精品久久久久久9| 欧美一区二区三区日韩| 免费人成在线不卡| 精品美女一区二区| 国内外成人在线| 国产午夜精品久久久久久久| 国产成人av电影在线观看| 国产亚洲欧美激情| 成人教育av在线| 亚洲免费成人av| 欧美日韩成人综合天天影院| 丝袜美腿亚洲综合| 欧美电视剧免费全集观看| 国内外成人在线视频| 欧美国产精品一区二区| 99久久久无码国产精品| 国产精品乱码久久久久久| 97久久精品人人做人人爽50路| 亚洲色图在线播放| 欧美日韩成人综合在线一区二区 | 99精品国产视频| 亚洲风情在线资源站| 欧美成va人片在线观看| 国产成人精品免费在线| 亚洲日本丝袜连裤袜办公室| 欧美丰满嫩嫩电影| 韩国av一区二区三区| 亚洲天天做日日做天天谢日日欢| 欧美日韩一二三| 极品少妇一区二区| 自拍偷拍国产精品| 欧美久久免费观看| 欧美艳星brazzers| 美女免费视频一区二区| 国产精品久久久久四虎| 欧美日韩一区国产| 国产麻豆精品久久一二三| 亚洲美女少妇撒尿| 日韩午夜小视频| 97久久超碰国产精品| 日韩激情一二三区| 国产精品毛片大码女人| 欧美日韩大陆在线| 成人动漫在线一区| 久久国产精品99久久人人澡| 中文字幕一区日韩精品欧美| 91精品国产综合久久久久久久 | 一区二区在线观看视频| 日韩视频免费观看高清在线视频| 99视频有精品| 久久er精品视频| 亚洲一区二区三区小说| 中文字幕欧美日韩一区| 日韩视频123| 欧美在线观看18| 成人免费毛片a| 久久精品国产99| 亚洲成人精品一区| 国产精品免费av| 日韩欧美一级片| 欧美午夜不卡视频|