#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 More... | |
void | i2c_stop (void) |
Terminates the data transfer and releases the I2C bus. More... | |
unsigned char | i2c_start (unsigned char addr) |
Issues a start condition and sends address and transfer direction. More... | |
unsigned char | i2c_rep_start (unsigned char addr) |
Issues a repeated start condition and sends address and transfer direction. More... | |
void | i2c_start_wait (unsigned char addr) |
Issues a start condition and sends address and transfer direction. More... | |
unsigned char | i2c_write (unsigned char data) |
Send one byte to I2C device. More... | |
unsigned char | i2c_readAck (void) |
read one byte from the I2C device, request more data from device More... | |
unsigned char | i2c_readNak (void) |
read one byte from the I2C device, read is followed by a stop condition More... | |
unsigned char | i2c_read (unsigned char ack) |
read one byte from the I2C device More... | |
#define I2C_READ 1 |
defines the data direction (reading from I2C device) in i2c_start(),i2c_rep_start()
Definition at line 91 of file i2cmaster.h.
#define i2c_read | ( | ack | ) | (ack) ? i2c_readAck() : i2c_readNak(); |
Definition at line 174 of file i2cmaster.h.
#define I2C_WRITE 0 |
defines the data direction (writing to I2C device) in i2c_start(),i2c_rep_start()
Definition at line 94 of file i2cmaster.h.
void i2c_init | ( | void | ) |
initialize the I2C master interace. Need to be called only once
void |
Definition at line 27 of file twimaster.c.
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
ack | 1 send ack, request more data from device 0 send nak, read is followed by a stop condition |
unsigned char i2c_readAck | ( | void | ) |
read one byte from the I2C device, request more data from device
Definition at line 180 of file twimaster.c.
unsigned char i2c_readNak | ( | void | ) |
read one byte from the I2C device, read is followed by a stop condition
Definition at line 195 of file twimaster.c.
unsigned char i2c_rep_start | ( | unsigned char | addr | ) |
Issues a repeated start condition and sends address and transfer direction.
addr | address and transfer direction of I2C device |
0 | device accessible |
1 | failed to access device |
Definition at line 128 of file twimaster.c.
unsigned char i2c_start | ( | unsigned char | addr | ) |
Issues a start condition and sends address and transfer direction.
addr | address and transfer direction of I2C device |
0 | device accessible |
1 | failed to access device |
Definition at line 41 of file twimaster.c.
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
addr | address and transfer direction of I2C device |
Definition at line 77 of file twimaster.c.
void i2c_stop | ( | void | ) |
Terminates the data transfer and releases the I2C bus.
void |
Definition at line 138 of file twimaster.c.
unsigned char i2c_write | ( | unsigned char | data | ) |
Send one byte to I2C device.
data | byte to be transfered |
0 | write successful |
1 | write failed |
Definition at line 156 of file twimaster.c.