Elisa3
twimaster.h File Reference
#include <avr/io.h>

Go to the source code of this file.

#define I2C_READ   1
#define I2C_WRITE   0
#define i2c_read(ack)   (ack) ? i2c_readAck() : i2c_readNak();
void i2c_init (void)
 initialize the I2C master interace. Need to be called only once
void i2c_stop (void)
 Terminates the data transfer and releases the I2C bus.
unsigned char i2c_start (unsigned char addr)
 Issues a start condition and sends address and transfer direction.
unsigned char i2c_rep_start (unsigned char addr)
 Issues a repeated start condition and sends address and transfer direction.
void i2c_start_wait (unsigned char addr)
 Issues a start condition and sends address and transfer direction.
unsigned char i2c_write (unsigned char data)
 Send one byte to I2C device.
unsigned char i2c_readAck (void)
 read one byte from the I2C device, request more data from device
unsigned char i2c_readNak (void)
 read one byte from the I2C device, read is followed by a stop condition
unsigned char i2c_read (unsigned char ack)
 read one byte from the I2C device
void i2c_close ()

Define Documentation

#define I2C_READ   1

defines the data direction (reading from I2C device) in i2c_start(),i2c_rep_start()

#define i2c_read (   ack)    (ack) ? i2c_readAck() : i2c_readNak();
#define I2C_WRITE   0

defines the data direction (writing to I2C device) in i2c_start(),i2c_rep_start()


Function Documentation

void i2c_close ( )
void i2c_init ( void  )

initialize the I2C master interace. Need to be called only once

Parameters:
void
Returns:
none
unsigned char i2c_read ( unsigned char  ack)

read one byte from the I2C device

Implemented as a macro, which calls either i2c_readAck or i2c_readNak

Parameters:
ack1 send ack, request more data from device
0 send nak, read is followed by a stop condition
Returns:
byte read from I2C device
unsigned char i2c_readAck ( void  )

read one byte from the I2C device, request more data from device

Returns:
byte read from I2C device
unsigned char i2c_readNak ( void  )

read one byte from the I2C device, read is followed by a stop condition

Returns:
byte read from I2C device
unsigned char i2c_rep_start ( unsigned char  addr)

Issues a repeated start condition and sends address and transfer direction.

Parameters:
addraddress and transfer direction of I2C device
Return values:
0device accessible
1failed to access device
unsigned char i2c_start ( unsigned char  addr)

Issues a start condition and sends address and transfer direction.

Parameters:
addraddress and transfer direction of I2C device
Return values:
0device accessible
1failed to access device
void i2c_start_wait ( unsigned char  addr)

Issues a start condition and sends address and transfer direction.

If device is busy, use ack polling to wait until device ready

Parameters:
addraddress and transfer direction of I2C device
Returns:
none
void i2c_stop ( void  )

Terminates the data transfer and releases the I2C bus.

Parameters:
void
Returns:
none
unsigned char i2c_write ( unsigned char  data)

Send one byte to I2C device.

Parameters:
databyte to be transfered
Return values:
0write successful
1write failed
 All Files Functions Variables Defines