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

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

?? drv_i2c.h

?? picos18的i2c驅動程序樣例
?? H
字號:
/**********************************************************************/
/*                                                                    */
/* File name: drv_i2c.h                                               */
/*                                                                    */
/* Since:     2004-Aug-10                                             */
/*                                                                    */
/* Version:   PICos18 v2.00                                           */
/*            Copyright (C) 2003, 2004 Pragmatec.                     */
/*            I2C driver v1.04                                        */
/*                                                                    */
/* Author:    DEVINE, Dan [DD] (ddevine@nwi-online.com)               */
/*            ROZIER Bertrand [RZR] bertrand.rozier@pragmatec.net     */
/*                                                                    */
/* Purpose:   I2C communications task, allowing other client          */
/*            tasks to share operation of the PIC18 MSSP module.      */
/*                                                                    */
/* Distribution: This file is part of PICos18.                        */
/*            PICos18 is free software; you can redistribute it       */
/*            and/or modify it under the terms of the GNU General     */
/*            Public License as published by the Free Software        */
/*            Foundation; either version 2, or (at your option)       */
/*            any later version.                                      */
/*                                                                    */
/*            PICos18 is distributed in the hope that it will be      */
/*            useful, but WITHOUT ANY WARRANTY; without even the      */
/*            implied warranty of MERCHANTABILITY or FITNESS FOR A    */
/*            PARTICULAR PURPOSE.  See the GNU General Public         */
/*            License for more details.                               */
/*                                                                    */
/*            You should have received a copy of the GNU General      */
/*            Public License along with gpsim; see the file           */
/*            COPYING.txt. If not, write to the Free Software         */
/*            Foundation, 59 Temple Place - Suite 330,                */
/*            Boston, MA 02111-1307, USA.                             */
/*                                                                    */
/*          > A special exception to the GPL can be applied should    */
/*            you wish to distribute a combined work that includes    */
/*            PICos18, without being obliged to provide the source    */
/*            code for any proprietary components.                    */
/*                                                                    */
/* History:                                                           */
/*   2004/09/10  [DD] Create this file.                               */
/*   2004/11/23  [RZR] Update for PICos18 V2 & Add TimeOut            */
/*                                                                    */
/**********************************************************************/


#ifndef _I2C_MGR_H_		//	Begin include sandwich
#define _I2C_MGR_H_

#include "define.h"

#ifndef NULL
#define NULL 0
#endif

/**********************************************************************
 *
 *	I2C bus states
 *
 *********************************************************************/
#define BUS_IDLE                           0	
#define BUS_START                          1
#define BUS_RESTART                        2
#define BUS_STOP                           3
#define BUS_SEND_ACK_NACK                  4
#define BUS_GEN_CALL                       5
#define BUS_READ_DATA                      6
#define BUS_CTRL_READ                      7
#define BUS_CTRL_WRITE                     8
#define BUS_WRITE_ADDR_L                   9
#define BUS_WRITE_ADDR_H                  10
#define BUS_WRITE_DATA                    11


/**********************************************************************
 *
 *	I2C Manager error codes
 *
 *********************************************************************/
#define ERR_I2C_SUCCESS                    1
#define ERR_I2C_NOSLAVE                    2
#define ERR_I2C_NACK_ADDR                  4
#define ERR_I2C_NACK_DATA                  8
#define ERR_I2C_TIMEOUT                   16

/**********************************************************************
 * 	Pre-declare Flag bits for inclusion in the generic packet type
 * 	below.
 * 	
 * 	These flags allow the client task to determine the status
 * 	of their request or to set special modifiers to be used
 * 	with the data object to be sent/received.
 *********************************************************************/
typedef	struct flag
	{
		// Flags to be set by the client routine;
		// controls transmission/reception
		unsigned long_addr  :1;	//	0 = single byte address, 1= two byte address
		unsigned i2c_read   :1;	//	1 = read from external, 0 = write to external
		unsigned SMBus      :1;	//	1 = SMBbus Enabled, 0 = Disabled
		unsigned extra2     :1;	//	Not used
		
		// Flags to be set by i2c routines; 
		// giving status to client
		unsigned error      :1;	//	Packet error, slave not responding
		unsigned busy       :1;	//	Packet is still enqueued, 0=done		
		unsigned read_phase :1;	//	Read phase of data xfer
		unsigned a7         :1;
	} flag_t;


/**********************************************************************
 *	Data message type for use by client routines.
 *	
 *	Clients will create a data packet with appropriate
 *	values for the below fields.  Client will then
 *	enqueue the message object in the linked list of
 *	I2C operations to be performed.
 *	
 *	Todo:  Find a better way of allowing both pointers
 *	to RAM and pointers to ROM without having to include
 *	two blank fields.  Sorry, this is the best I could
 *	figure right now...
 *********************************************************************/	
typedef struct _I2C_message
	{
		unsigned char control;      //	Standard control code.
		unsigned char addr_high;    //	High byte of addr, only used if high bit set
		unsigned char addr_low;     //	Low byte of addr, used with all messages
		ram unsigned char *ram_data;//	the bit setting of flags.ptr_type
		unsigned char num_bytes;    //	Must be less than 255
		unsigned error		:5;     //	0:SUCCESS, otherwise error code
		unsigned retry_counter 	:3; //	Nb of retry allowed
		TaskType CallerID;          //	ID of task to notify
		struct _I2C_message *next;  //	Pointer to next message
		flag_t   flags;             //	Bit flags for control of operation
	} I2C_message_t, *I2C_message_tRef;



/**********************************************************************
 *
 *	Enqueue a client packet object into the I2C task queue.
 *
 *	Once placed in queue, client must not modify the data
 *	otherwise unpredictable results.  To safely change the object,
 *	dequeue, modify, re-enqueue.
 *
 *	Returns 1 if successfull, 0 if message could not be enqueued
 *********************************************************************/

unsigned char I2C_enqMsg(I2C_message_tRef toEnqueue);


#endif	//	end include sandwich


/* End of File : drv_i2c.h  */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲精品精华液| 精品日韩99亚洲| 欧美亚洲高清一区| 在线免费不卡电影| 日韩美女在线视频| 中文字幕免费一区| 夜夜嗨av一区二区三区四季av| 亚洲一区二区三区在线播放| 日韩电影在线免费| 风间由美一区二区av101| 99国产欧美另类久久久精品| 欧美喷潮久久久xxxxx| 国产日韩欧美激情| 亚洲高清视频的网址| 国产美女视频一区| 色av一区二区| 中文字幕欧美三区| 日韩av电影免费观看高清完整版 | 国产精品久久久久久久久免费桃花 | 中文字幕欧美激情一区| 性欧美大战久久久久久久久| 成人久久久精品乱码一区二区三区 | 欧美日韩一区二区不卡| 久久午夜老司机| 捆绑调教一区二区三区| 色老综合老女人久久久| 欧美国产成人在线| 国产自产高清不卡| 欧美一区二区三区人| 一区二区三区欧美在线观看| 成人高清视频在线观看| 久久尤物电影视频在线观看| 日韩高清一区在线| 91精品国模一区二区三区| 亚洲成av人片在线| 777色狠狠一区二区三区| 亚洲成av人片一区二区| 欧美三级电影一区| 国v精品久久久网| 国产精品久久三区| 99re6这里只有精品视频在线观看 99re8在线精品视频免费播放 | 成人丝袜18视频在线观看| 欧美成人video| 国产精品自在欧美一区| 国产午夜精品久久久久久久| 国产精品一区二区免费不卡| 中文一区二区完整视频在线观看| 成人国产精品免费| 亚洲444eee在线观看| 日韩欧美国产精品一区| av激情综合网| 免费成人av资源网| 国产精品久久久一本精品 | 日韩电影网1区2区| 26uuu国产一区二区三区| av电影天堂一区二区在线| 日韩精品高清不卡| 久久久久久久久久久久久久久99 | 国产亚洲欧洲997久久综合| 91视频在线观看| 国产九色sp调教91| 一区二区三区在线视频免费 | 99久免费精品视频在线观看 | 久久久午夜精品| 欧美一区二区三区四区在线观看| 丁香另类激情小说| 免费观看日韩av| 亚洲大片一区二区三区| 中文字幕在线观看一区| 精品国产伦一区二区三区观看方式| 91国偷自产一区二区三区观看| 国产成人午夜电影网| 蜜臀精品一区二区三区在线观看| 亚洲人成亚洲人成在线观看图片| 精品久久久久久久久久久院品网 | 岛国av在线一区| 成人精品亚洲人成在线| 国产精品1024久久| 国产999精品久久| 成人精品一区二区三区中文字幕| 欧美色网站导航| 欧美性色黄大片| 在线亚洲一区二区| 欧美丰满美乳xxx高潮www| 欧美一区二区成人6969| 日韩欧美黄色影院| 精品88久久久久88久久久| 欧美精品一区二区三| 国产精品久久久久久久浪潮网站| 日本一区免费视频| 一区二区三区四区高清精品免费观看| 国产精品成人在线观看| 亚洲美女视频在线观看| 亚洲国产sm捆绑调教视频 | 日韩免费视频一区| 久久精品夜夜夜夜久久| 亚洲精品国产一区二区精华液| 午夜欧美大尺度福利影院在线看 | 久久久久久久久久美女| 亚洲综合色丁香婷婷六月图片| 蜜桃久久久久久| caoporn国产一区二区| 欧美午夜一区二区三区免费大片| 日韩午夜av一区| 亚洲激情自拍偷拍| 国产sm精品调教视频网站| 欧美日韩大陆一区二区| 日韩精品欧美精品| 在线看国产日韩| 国产精品美女久久福利网站| 麻豆精品视频在线观看免费| 99综合电影在线视频| 国产欧美日韩亚州综合 | 26uuu亚洲婷婷狠狠天堂| 五月综合激情婷婷六月色窝| 国产**成人网毛片九色 | 欧美色涩在线第一页| 国产精品美女久久久久久久久久久 | 91在线高清观看| 国产精品美女久久久久av爽李琼| 国产在线精品不卡| 精品999在线播放| 久久精品理论片| 久久精品夜夜夜夜久久| 国产精品1区2区| 久久久久久久av麻豆果冻| 免费高清在线一区| 久久亚洲一区二区三区明星换脸 | 久久蜜桃av一区精品变态类天堂| 日韩1区2区3区| 精品免费一区二区三区| 精品视频免费看| 精品一区二区久久| 久久综合色8888| 91免费版pro下载短视频| 亚洲在线视频免费观看| 制服丝袜亚洲网站| 国产在线精品一区二区三区不卡| 国产精品欧美久久久久一区二区| 色综合久久综合| 日韩成人精品在线| 欧美极品aⅴ影院| 欧美三级电影在线看| 国产精品一二三区在线| 亚洲激情六月丁香| 欧美成人一级视频| 在线欧美小视频| 国产精品亚洲午夜一区二区三区| 成人欧美一区二区三区在线播放| 欧美精品一卡二卡| 99久久精品国产一区二区三区| 日韩在线一二三区| 亚洲欧美另类久久久精品| 2017欧美狠狠色| 欧美日韩在线观看一区二区| 国产露脸91国语对白| 性欧美大战久久久久久久久| 最近中文字幕一区二区三区| 久久久噜噜噜久噜久久综合| 欧美嫩在线观看| 久久尤物电影视频在线观看| 日韩一区二区在线播放| 一本一本大道香蕉久在线精品| 国产精品 日产精品 欧美精品| 亚洲不卡在线观看| 一区二区三区在线视频免费观看| 国产精品三级av在线播放| 精品日本一线二线三线不卡| 日韩一区二区在线观看视频| 欧美一区二区福利视频| 91精品国产色综合久久| 91精品国产欧美日韩| 欧美一区在线视频| 精品福利一二区| 国产视频一区在线播放| 中文字幕高清不卡| 亚洲天堂免费在线观看视频| 成人欧美一区二区三区视频网页| 依依成人精品视频| 五月婷婷激情综合网| 激情国产一区二区| 国产成人精品www牛牛影视| 懂色av一区二区三区蜜臀| 波多野结衣亚洲| 在线不卡a资源高清| 久久久久久毛片| 夜色激情一区二区| 国产在线视频一区二区三区| 成人免费视频视频在线观看免费| 一本到三区不卡视频| 欧美成人女星排行榜| 亚洲蜜臀av乱码久久精品蜜桃| 亚洲成人av资源| 丁香婷婷综合网| 日韩一级片在线观看| 一区二区欧美精品| 丁香婷婷综合五月| 精品国产乱码久久久久久闺蜜| 亚洲色图视频网站| 国产精品资源网|