Dallas Semiconductor DS80C400 C Libraries Home Page

Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals

tini_i2c.h

Go to the documentation of this file.
00001 /*---------------------------------------------------------------------------
00002  *  Copyright (C) 2003 Dallas Semiconductor Corporation, All Rights Reserved.
00003  * 
00004  *  Permission is hereby granted, free of charge, to any person obtaining a
00005  *  copy of this software and associated documentation files (the "Software"),
00006  *  to deal in the Software without restriction, including without limitation
00007  *  the rights to use, copy, modify, merge, publish, distribute, sublicense,
00008  *  and/or sell copies of the Software, and to permit persons to whom the
00009  *  Software is furnished to do so, subject to the following conditions:
00010  * 
00011  *  The above copyright notice and this permission notice shall be included
00012  *  in all copies or substantial portions of the Software.
00013  * 
00014  *  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00015  *  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00016  *  MERCHANTABILITY,  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
00017  *  IN NO EVENT SHALL DALLAS SEMICONDUCTOR BE LIABLE FOR ANY CLAIM, DAMAGES
00018  *  OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
00019  *  ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
00020  *  OTHER DEALINGS IN THE SOFTWARE.
00021  * 
00022  *  Except as contained in this notice, the name of Dallas Semiconductor
00023  *  shall not be used except as stated in the Dallas Semiconductor
00024  *  Branding Policy.
00025  * ---------------------------------------------------------------------------
00026  *
00027  * This file contains function definitions for I2C access functions.
00028  * This file is intended for use with the Keil MicroVision (uVision) C compiler.
00029  *
00030  * ---------------------------------------------------------------------------
00031  */
00032 #ifndef __tini_i2c_
00033 #define __tini_i2c_
00034 
00056 #define TINI_I2C_VERSION         1
00057 
00058 
00062 //---------------------------------------------------------------------------
00063 int i2c_version();
00064 
00068 //---------------------------------------------------------------------------
00069 
00070 void i2c_delay(void);
00074 //---------------------------------------------------------------------------
00075 
00076 void i2c_start(void);
00082 //---------------------------------------------------------------------------
00083 
00084 void i2c_bit(unsigned char singlebit);
00090 //---------------------------------------------------------------------------
00091 unsigned char i2c_readbit(void);
00092 
00096 //---------------------------------------------------------------------------
00097 void i2c_stop(void);
00098 
00107 //---------------------------------------------------------------------------
00108 unsigned char i2c_readbyte(unsigned char doACK);
00109 
00117 //---------------------------------------------------------------------------
00118 unsigned char i2c_writebyte(unsigned char singlebyte);
00119 
00128 //---------------------------------------------------------------------------
00129 unsigned char i2c_select(unsigned char address);
00130 
00143 //---------------------------------------------------------------------------
00144 unsigned char i2c_writeblock(unsigned char address,unsigned char *barr,int length);
00145 
00158 //---------------------------------------------------------------------------
00159 unsigned char i2c_readblock(unsigned char address,unsigned char *barr,int length);
00160 
00175 //---------------------------------------------------------------------------
00176 unsigned char i2c_writereadblock(unsigned char address,unsigned char *barr1,int length1,
00177                                                        unsigned char *barr2,int length2);
00178 
00179 /* Define SCL and SDA to talk on the designated TINIs400 pins */
00180 //#define I2C_SDA  P1_0
00181 //#define I2C_SCL  P1_1
00182 
00185 #define I2C_SDA  P3_4
00186 
00189 #define I2C_SCL  P3_5
00190 
00194 #define I2C_ENABLE_SCL_WAIT_FOR_SLOW_SLAVES 0
00195 
00199 #define I2C_MAXIMUM_SCL_WAITCOUNT 10000
00200 
00203 #define I2C_DELAY_LOOP_COUNT 0
00204 
00205 #endif
00206 
00207 

Copyright 2005 Dallas Semiconductor, Inc.. Documentation generated by Doxygen.