#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
Function Documentation
initialize the I2C master interace. Need to be called only once
- Parameters:
-
- 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:
-
ack | 1 send ack, request more data from device
0 send nak, read is followed by a stop condition |
- Returns:
- byte read from I2C device
read one byte from the I2C device, request more data from device
- Returns:
- byte read from I2C device
read one byte from the I2C device, read is followed by a stop condition
- Returns:
- byte read from I2C device
Issues a repeated start condition and sends address and transfer direction.
- Parameters:
-
addr | address and transfer direction of I2C device |
- Return values:
-
0 | device accessible |
1 | failed to access device |
unsigned char i2c_start |
( |
unsigned char |
addr | ) |
|
Issues a start condition and sends address and transfer direction.
- Parameters:
-
addr | address and transfer direction of I2C device |
- Return values:
-
0 | device accessible |
1 | failed to access device |
Issues a start condition and sends address and transfer direction.
If device is busy, use ack polling to wait until device ready
- Parameters:
-
addr | address and transfer direction of I2C device |
- Returns:
- none
Terminates the data transfer and releases the I2C bus.
- Parameters:
-
- Returns:
- none
unsigned char i2c_write |
( |
unsigned char |
data | ) |
|
Send one byte to I2C device.
- Parameters:
-
data | byte to be transfered |
- Return values:
-
0 | write successful |
1 | write failed |