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

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

?? iic_avr.h

?? 串口轉發IIC程序
?? H
字號:
/* 這份源代碼文件已被未注冊的SourceFormatX格式化過 */

/* 如果您想不再添加此類信息,請您注冊這個共享軟件  */

/* 更多相關信息請訪問網站: http://cn.textrush.com  */

///////////////////////////////////////////
//		IIC_AVR.H
//	Function:	IIC driver for atmel mega16
//	Create : Guobg
//	Date :	20060113
//	Revision:	0.0
///////////////////////////////////////////
//	Modify History
//
///////////////////////////////////////////
#ifndef __IIC_AVR_H__
	#define __IIC_AVR_H__
	#include "globle.h"

//	#include "TPXFXS.H"
	#ifndef CPU_CLOCK_FREQUENCE
		#define CPU_CLOCK_FREQUENCE 8000000L
	#endif
	#ifdef GCC_AVR
		#include "avr\io.h"
		#include "TWI.H"
		#include <avr \signal.h>
	#endif
	#ifdef ICC_AVR
		#include "iom16v.h"
	#endif
	#ifndef GCC_AVR

/* TWSR values (not bits) */

/* Master */
		#define TW_START		0x08
		#define TW_REP_START	0x10

/* Master Transmitter */
		#define TW_MT_SLA_ACK	0x18
		#define TW_MT_SLA_NACK	0x20
		#define TW_MT_DATA_ACK	0x28
		#define TW_MT_DATA_NACK 0x30
		#define TW_MT_ARB_LOST	0x38

/* Master Receiver */
		#define TW_MR_ARB_LOST	0x38
		#define TW_MR_SLA_ACK	0x40
		#define TW_MR_SLA_NACK	0x48
		#define TW_MR_DATA_ACK	0x50
		#define TW_MR_DATA_NACK 0x58

/* Slave Transmitter */
		#define TW_ST_SLA_ACK			0xA8
		#define TW_ST_ARB_LOST_SLA_ACK	0xB0
		#define TW_ST_DATA_ACK			0xB8
		#define TW_ST_DATA_NACK			0xC0
		#define TW_ST_LAST_DATA			0xC8

/* Slave Receiver */
		#define TW_SR_SLA_ACK				0x60
		#define TW_SR_ARB_LOST_SLA_ACK		0x68
		#define TW_SR_GCALL_ACK				0x70
		#define TW_SR_ARB_LOST_GCALL_ACK	0x78
		#define TW_SR_DATA_ACK				0x80
		#define TW_SR_DATA_NACK				0x88
		#define TW_SR_GCALL_DATA_ACK		0x90
		#define TW_SR_GCALL_DATA_NACK		0x98
		#define TW_SR_STOP					0xA0

/* Misc */
		#define TW_NO_INFO		0xF8
		#define TW_BUS_ERROR	0x00
	#endif
	#define IIC_TIME_OUT_MAX_COUNTER	0xFF					// Max Time out 255 * tick
	#define IIC_TIME_OUT_STOP			0x00					// 0-Timer count stop

//IIC Mode
	#define IIC_MODE_SLAVE_TRANSMIT		0x00
	#define IIC_MODE_SLAVE_RECEIVE		0x01
	#define IIC_MODE_MASTER_TRANSMIT	0x02
	#define IIC_MODE_MASTER_RECEIVE		0x03
	#define IIC_MODE_SHUT_DOWN			0xFF

// Following statment define BP_CODE for baudrate
// SCL Frequency = Clock CPU/(16+ 2 * TWBR * POW(4,TWPS))
	#define IIC_BAUDRATE_TWPS_NODIV 0
	#define IIC_BAUDRATE_TWPS_DIV4	1
	#define IIC_BAUDRATE_TWPS_DIV16 2
	#define IIC_BAUDRATE_TWPS_DIV64 3
	#define IIC_BAUDRATE_TWBR_200K	12							// TWPS no div @ 8M
	#define IIC_BAUDRATE_TWBR_100K	32							// TWPS no div @ 8M
	#define IIC_BAUDRATE_200K		0
	#define IIC_BAUDRATE_100K		1

// Following statment define IIC Recieve,Transmit Buffer
	#define IIC_MAX_BUFFER_LEN			16
	#define IIC_ERROR_NOERROR			0x00					//No Error
	#define IIC_ERROR_NOT_ACK_SLA		0x81					//No ACK during address
	#define IIC_ERROR_NOT_ACK_DATA		0x82					//No ACK during data transfer
	#define IIC_ERROR_ARBITRATION_LOST	0x83					//Arbitration lost bus control
	#define IIC_ERROR_TIME_OVERLOW		0x84					//Time overlow
	#define IIC_ERROR_BUFFER_OVERLOW	0x85					//Buffer overlow
struct tagIIC_MSG_PACKAGE
{
	U8	ucMsgID;
	U8	ucSourceAddress;
	U8	ucDataByte[8];
	struct
	{
		int bIsIntegrityMsg : 1;
		int ucMsgNo : 3;										//Message sequence no
		int ucValidBytes : 4;									//Valid data nums in ucDataByte
	} ucMsgControllByte;
	U8	CheckSum;												// XOR all data byte above
};
struct IIC_BUFFER
{
	union
	{
		U8							ucData[IIC_MAX_BUFFER_LEN]; // Data buffer
		struct tagIIC_MSG_PACKAGE	IIC_MessagePack;
	} IIC_BUFFER_UNION;
	U8	ucWriteP, ucReadP;										// Data buffer point
	U8	ucDestinationAddress;									// Destination Address

	// 	N/A for IN buffer
	struct
	{
		int bEnAccess : 1;										// Allow user access data buffer
	} ucIICBufferStatus;
};
void	IIC_Init(U8 ucSlaveAddr, U8 ucBaudrate);
	#ifdef ICC_AVR
void	IIC_handler(void);
	#endif

//IIC cell-operation define here
	#define IIC_START			TWCR |= (_BV(TWINT) | _BV(TWSTA) | _BV(TWEN) | _BV(TWIE)); \
	ucIICTimeoutCount = IIC_TIME_OUT_MAX_COUNTER;
	#define IIC_REAPET_START	TWCR |= \
		(								\
			_BV(TWINT) |				\
			_BV(TWSTA) |				\
			_BV(TWEN) |					\
			_BV(TWIE)					\
		);								\
	ucIICTimeoutCount = IIC_TIME_OUT_MAX_COUNTER;
	#define IIC_STOP			TWCR |= (_BV(TWINT) | _BV(TWSTO) | _BV(TWEN) | _BV(TWIE)); \
	ucIICTimeoutCount = IIC_TIME_OUT_STOP;
	#define IIC_SLA				TWDR = IIC_Buffer_Out.ucDestinationAddress << 1; \
	ucIICTimeoutCount = IIC_TIME_OUT_MAX_COUNTER;
	#define IIC_BUFFER_TO_BUS	TWDR = IIC_Buffer_Out.IIC_BUFFER_UNION.ucData[ \
		IIC_Buffer_Out.ucReadP++];											   \
	ucIICTimeoutCount = IIC_TIME_OUT_MAX_COUNTER;
	#define IIC_BUS_TO_BUFFER	IIC_Buffer_In.IIC_BUFFER_UNION.ucData[IIC_Buffer_In. \
		ucWriteP++] = TWDR;															 \
	ucIICTimeoutCount = IIC_TIME_OUT_MAX_COUNTER;
U8		I2C_Send(U8 I2C_Addr, U8 *I2C_MsgData, U8 MsgDataLen, U8 s_Timeout);
U8		I2C_Send(U8 I2C_Addr, U8 *I2C_MsgData, U8 MsgDataLen, U8 s_Timeout);
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产剧情一区二区三区| 亚洲综合激情网| 高清在线成人网| 国产欧美中文在线| 91在线精品一区二区三区| 亚洲欧美日本韩国| 欧美日韩国产色站一区二区三区| 丝袜亚洲另类欧美| 精品欧美一区二区久久| 国产精品99精品久久免费| 欧美国产日韩一二三区| 色婷婷亚洲一区二区三区| 亚洲成av人在线观看| 精品日韩一区二区三区| av毛片久久久久**hd| 亚洲成人免费影院| wwwwww.欧美系列| 99视频一区二区| 日韩va亚洲va欧美va久久| 久久久久久久久免费| 欧美优质美女网站| 精品一区二区在线视频| 国产精品初高中害羞小美女文| 欧美视频中文一区二区三区在线观看| 麻豆高清免费国产一区| 国产精品久久毛片a| 欧美精品乱码久久久久久按摩| 国内精品久久久久影院薰衣草 | 亚洲成人在线网站| 日韩欧美亚洲国产另类| 91在线视频18| 精品一区二区在线看| 一区二区三区丝袜| 欧美成va人片在线观看| 99麻豆久久久国产精品免费| 丝袜亚洲精品中文字幕一区| 国产精品久久久久久妇女6080| 欧美日韩成人综合天天影院| 岛国精品在线观看| 婷婷久久综合九色综合绿巨人| 国产欧美精品一区| 日韩一区二区免费电影| 99国产精品久| 精品一二三四区| 亚洲午夜精品在线| 国产精品美女久久久久久久| 欧美成人午夜电影| 欧美亚州韩日在线看免费版国语版 | 在线观看视频91| 国产a视频精品免费观看| 午夜激情久久久| 中文字幕日韩精品一区| 久久男人中文字幕资源站| 99精品欧美一区| 国产suv一区二区三区88区| 日韩极品在线观看| 亚洲精品国产无天堂网2021| 国产精品三级久久久久三级| 欧美本精品男人aⅴ天堂| 91精品91久久久中77777| 成人涩涩免费视频| 国产精品18久久久久久久久| 精品一区二区在线看| 热久久国产精品| 亚洲成va人在线观看| 亚洲成人tv网| 亚洲综合一区在线| 亚洲精品自拍动漫在线| 亚洲欧美日韩系列| 亚洲视频一区在线观看| 亚洲欧美日韩中文字幕一区二区三区| 国产精品沙发午睡系列990531| 国产三级三级三级精品8ⅰ区| 亚洲精品一区二区三区四区高清| 精品久久久久久久人人人人传媒 | 中文字幕一区二区三中文字幕| 国产欧美精品一区二区色综合| 久久理论电影网| 国产午夜精品福利| 久久精品男人的天堂| 欧美激情自拍偷拍| 国产精品免费视频一区| 中文字幕日韩欧美一区二区三区| 中文字幕一区二区三区av| 亚洲视频你懂的| 亚洲综合色噜噜狠狠| 亚洲国产一二三| 日本午夜精品一区二区三区电影| 另类成人小视频在线| 国产资源在线一区| 高潮精品一区videoshd| av中文字幕一区| 在线观看免费亚洲| 91超碰这里只有精品国产| 欧美一区二区三区四区高清| 日韩精品最新网址| 精品国产sm最大网站| 国产精品久久久久久亚洲伦| 亚洲男同性恋视频| 日本不卡视频在线观看| 国产一区二区在线视频| 成人精品国产福利| 精品视频在线免费看| 欧美一区二区视频在线观看| 久久久久国产精品人| 亚洲欧美日韩电影| 秋霞影院一区二区| 国产成人在线电影| 欧美亚洲日本国产| 精品国产凹凸成av人网站| 国产精品国产三级国产| 午夜精品久久久久久久久| 精品中文字幕一区二区| 91在线高清观看| 日韩一区二区免费视频| 国产精品传媒入口麻豆| 五月开心婷婷久久| 国产成人在线网站| 欧美日韩一区二区欧美激情 | 7777精品伊人久久久大香线蕉最新版| 欧美成人一级视频| 一区二区三区精品视频在线| 韩国v欧美v亚洲v日本v| 在线观看91视频| 国产色产综合产在线视频| 亚洲成av人影院在线观看网| 国产成人自拍高清视频在线免费播放| 一本色道综合亚洲| 亚洲精品一线二线三线无人区| 国产精品高清亚洲| 麻豆成人免费电影| 欧美在线免费观看亚洲| 欧美精彩视频一区二区三区| 午夜精品福利一区二区蜜股av | 欧美视频一区二区三区| 国产欧美日韩不卡免费| 蜜臀久久久久久久| 色综合夜色一区| 国产午夜亚洲精品理论片色戒| 日韩精品亚洲一区| 日本高清不卡aⅴ免费网站| 国产女人18毛片水真多成人如厕| 日韩福利视频网| 在线观看日韩av先锋影音电影院| 中文字幕精品一区| 国产乱码一区二区三区| 91精品国产91久久久久久一区二区 | 日韩激情av在线| 在线亚洲一区二区| 亚洲欧洲精品天堂一级| 国产福利91精品一区| 精品国产成人在线影院| 久久精品噜噜噜成人av农村| 欧美精品在欧美一区二区少妇| 亚洲专区一二三| 在线亚洲高清视频| 亚洲激情第一区| 91久久精品一区二区三区| 亚洲色图欧美在线| 99久久精品情趣| 国产精品久久久久久亚洲毛片| 国产91露脸合集magnet | 久久精品国产免费| 91麻豆精品国产91久久久资源速度 | 韩国v欧美v日本v亚洲v| 日韩美女一区二区三区四区| 婷婷久久综合九色综合绿巨人| 欧美色涩在线第一页| 亚洲综合一区二区精品导航| 在线视频观看一区| 亚洲一级电影视频| 欧美私模裸体表演在线观看| 亚洲福中文字幕伊人影院| 欧美日韩精品专区| 男人操女人的视频在线观看欧美| 欧美日韩免费电影| 五月综合激情婷婷六月色窝| 欧美精品亚洲二区| 麻豆国产精品视频| 久久亚洲精精品中文字幕早川悠里| 国产美女娇喘av呻吟久久| 久久精子c满五个校花| 成人激情电影免费在线观看| 亚洲免费观看高清| 欧美日韩久久久一区| 免费亚洲电影在线| 2021国产精品久久精品| 成人高清视频在线| 亚洲精选视频在线| 欧美在线视频全部完| 日韩va欧美va亚洲va久久| 2023国产一二三区日本精品2022| 成人激情av网| 亚欧色一区w666天堂| 久久影视一区二区| 波多野结衣中文字幕一区 | 欧美亚日韩国产aⅴ精品中极品| 天堂午夜影视日韩欧美一区二区| 26uuu国产一区二区三区 | 色老综合老女人久久久|